On Mon, Nov 20, 2017 at 07:56:28PM +0900, Tetsuo Handa wrote:
> Christoph Hellwig wrote:
> > On Mon, Nov 20, 2017 at 10:42:37AM +0100, Michal Hocko wrote:
> > > The patch has been dropped because allnoconfig failed to compile back
> > > then
> > > http://lkml.kernel.org/r/CAP=VYLr0rPWi1aeuk4w1On9CYRNmnEWwJgGtaX=wevgabur...@mail.gmail.com
> > > I have problem to find the follow up discussion though. The main
> > > argument was that SRC is not generally available and so the core
> > > kernel should rely on it.
> >
> > Paul,
> >
> > isthere any good reason to not use SRCU in the core kernel and
> > instead try to reimplement it using atomic counters?
>
> CONFIG_SRCU was added in order to save system size. There are users who run
> Linux on very
> small systems (
> https://www.elinux.org/images/5/52/Status-of-embedded-Linux-2017-09-JJ62.pdf
> ).
>
> Also, atomic counters are not mandatory for shrinker case; e.g.
> http://lkml.kernel.org/r/[email protected]
> .
CONFIG_SRCU was indeed added in order to shrink single-CPU systems.
But many architectures are now requiring SRCU for one reason or another,
in more and more situations.
So I recently implemented a UP-only Tiny SRCU, which is quite a bit
smaller than its scalable counterpart, Tree SRCU:
text data bss dec hex filename
983 64 0 1047 417 /tmp/c/kernel/rcu/srcutiny.o
text data bss dec hex filename
6844 193 0 7037 1b7d /tmp/b/kernel/rcu/srcutree.o
So perhaps it is time to unconditionally enable SRCU?
Thanx, Paul