Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-10 Thread Shakeel Butt
On Thu, Nov 9, 2017 at 1:46 PM, Tetsuo Handa wrote: > Shakeel Butt wrote: >> > If you can accept serialized register_shrinker()/unregister_shrinker(), >> > I think that something like shown below can do it. >> >> If we assume that we will never do register_shrinker and >> unregister_shrinker on th

Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-09 Thread Tetsuo Handa
Shakeel Butt wrote: > > If you can accept serialized register_shrinker()/unregister_shrinker(), > > I think that something like shown below can do it. > > If we assume that we will never do register_shrinker and > unregister_shrinker on the same object in parallel then do we still > need to do msl

Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-09 Thread Shakeel Butt
> > If you can accept serialized register_shrinker()/unregister_shrinker(), > I think that something like shown below can do it. > Thanks. > -- > diff --git a/include/linux/shrinker.h b/include/linux/shrinker.h > index 388ff29..e2272dd 100644 > --- a/include/linux/shrinker.h > +++ b/inclu

Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-09 Thread Tetsuo Handa
On 2017/11/09 2:37, Shakeel Butt wrote: > In our production, we have observed that the job loader gets stuck for > 10s of seconds while doing mount operation. It turns out that it was > stuck in register_shrinker() and some unrelated job was under memory > pressure and spending time in shrink_slab(

Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-08 Thread Minchan Kim
On Wed, Nov 08, 2017 at 05:07:08PM -0800, Shakeel Butt wrote: > On Wed, Nov 8, 2017 at 4:07 PM, Minchan Kim wrote: > > Hi, > > > > On Wed, Nov 08, 2017 at 09:37:40AM -0800, Shakeel Butt wrote: > >> In our production, we have observed that the job loader gets stuck for > >> 10s of seconds while doi

Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-08 Thread Shakeel Butt
On Wed, Nov 8, 2017 at 4:07 PM, Minchan Kim wrote: > Hi, > > On Wed, Nov 08, 2017 at 09:37:40AM -0800, Shakeel Butt wrote: >> In our production, we have observed that the job loader gets stuck for >> 10s of seconds while doing mount operation. It turns out that it was >> stuck in register_shrinker

Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-08 Thread Minchan Kim
Hi, On Wed, Nov 08, 2017 at 09:37:40AM -0800, Shakeel Butt wrote: > In our production, we have observed that the job loader gets stuck for > 10s of seconds while doing mount operation. It turns out that it was > stuck in register_shrinker() and some unrelated job was under memory > pressure and sp

Re: [PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-08 Thread Greg Thelen
(off list) Shakeel Butt wrote: > In our production, we have observed that the job loader gets stuck for > 10s of seconds while doing mount operation. It turns out that it was > stuck in register_shrinker() and some unrelated job was under memory > pressure and spending time in shrink_slab(). Our

[PATCH v2] mm, shrinker: make shrinker_list lockless

2017-11-08 Thread Shakeel Butt
In our production, we have observed that the job loader gets stuck for 10s of seconds while doing mount operation. It turns out that it was stuck in register_shrinker() and some unrelated job was under memory pressure and spending time in shrink_slab(). Our machines have a lot of shrinkers register