Re: [PATCH 1/2] mm,vmscan: Kill global shrinker lock.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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=wEvGaBURtrg@xxxxxxxxxxxxxx
> > > 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/201711161956.EBF57883.QFFMOLOVSOHJFt@xxxxxxxxxxxxxxxxxxx .

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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux