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

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

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

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

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 > +++

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 > +++

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

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

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

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

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

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

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

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

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

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().