Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-12 Thread Kirill Tkhai
On 12.07.2018 14:13, Kirill Tkhai wrote: > On 03.07.2018 20:32, Kirill Tkhai wrote: >> On 03.07.2018 20:00, Shakeel Butt wrote: >>> On Tue, Jul 3, 2018 at 9:17 AM Kirill Tkhai wrote: Hi, Shakeel, On 03.07.2018 18:46, Shakeel Butt wrote: > On Tue, Jul 3, 2018 at 8:27 AM Matt

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-12 Thread Kirill Tkhai
On 03.07.2018 20:32, Kirill Tkhai wrote: > On 03.07.2018 20:00, Shakeel Butt wrote: >> On Tue, Jul 3, 2018 at 9:17 AM Kirill Tkhai wrote: >>> >>> Hi, Shakeel, >>> >>> On 03.07.2018 18:46, Shakeel Butt wrote: On Tue, Jul 3, 2018 at 8:27 AM Matthew Wilcox wrote: > > On Tue, Jul 03, 201

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Al Viro
On Tue, Jul 03, 2018 at 10:47:44AM -0700, Matthew Wilcox wrote: > On Tue, Jul 03, 2018 at 08:46:28AM -0700, Shakeel Butt wrote: > > On Tue, Jul 3, 2018 at 8:27 AM Matthew Wilcox wrote: > > > This will actually reduce the size of each shrinker and be more > > > cache-efficient when calling the shri

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Shakeel Butt
On Tue, Jul 3, 2018 at 12:25 PM Matthew Wilcox wrote: > > On Tue, Jul 03, 2018 at 12:19:35PM -0700, Shakeel Butt wrote: > > On Tue, Jul 3, 2018 at 12:13 PM Kirill Tkhai wrote: > > > > Do we really have so very many !memcg-aware shrinkers? > > > > > > > > $ git grep -w register_shrinker |wc > > >

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Matthew Wilcox
On Tue, Jul 03, 2018 at 12:19:35PM -0700, Shakeel Butt wrote: > On Tue, Jul 3, 2018 at 12:13 PM Kirill Tkhai wrote: > > > Do we really have so very many !memcg-aware shrinkers? > > > > > > $ git grep -w register_shrinker |wc > > > 32 1192221 > > > $ git grep -w register_shrinker_prepa

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Shakeel Butt
On Tue, Jul 3, 2018 at 12:13 PM Kirill Tkhai wrote: > > On 03.07.2018 20:58, Matthew Wilcox wrote: > > On Tue, Jul 03, 2018 at 06:46:57PM +0300, Kirill Tkhai wrote: > >> shrinker_idr now contains only memcg-aware shrinkers, so all bits from > >> memcg map > >> may be potentially populated. In cas

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Kirill Tkhai
On 03.07.2018 20:58, Matthew Wilcox wrote: > On Tue, Jul 03, 2018 at 06:46:57PM +0300, Kirill Tkhai wrote: >> shrinker_idr now contains only memcg-aware shrinkers, so all bits from memcg >> map >> may be potentially populated. In case of memcg-aware shrinkers and >> !memcg-aware >> shrinkers shar

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Matthew Wilcox
On Tue, Jul 03, 2018 at 06:46:57PM +0300, Kirill Tkhai wrote: > shrinker_idr now contains only memcg-aware shrinkers, so all bits from memcg > map > may be potentially populated. In case of memcg-aware shrinkers and > !memcg-aware > shrinkers share the same numbers like you suggest, this will lea

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Matthew Wilcox
On Tue, Jul 03, 2018 at 08:46:28AM -0700, Shakeel Butt wrote: > On Tue, Jul 3, 2018 at 8:27 AM Matthew Wilcox wrote: > > This will actually reduce the size of each shrinker and be more > > cache-efficient when calling the shrinkers. I think we can also get > > rid of the shrinker_rwsem eventually

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Kirill Tkhai
On 03.07.2018 20:00, Shakeel Butt wrote: > On Tue, Jul 3, 2018 at 9:17 AM Kirill Tkhai wrote: >> >> Hi, Shakeel, >> >> On 03.07.2018 18:46, Shakeel Butt wrote: >>> On Tue, Jul 3, 2018 at 8:27 AM Matthew Wilcox wrote: On Tue, Jul 03, 2018 at 06:09:05PM +0300, Kirill Tkhai wrote: > ++

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Shakeel Butt
On Tue, Jul 3, 2018 at 9:17 AM Kirill Tkhai wrote: > > Hi, Shakeel, > > On 03.07.2018 18:46, Shakeel Butt wrote: > > On Tue, Jul 3, 2018 at 8:27 AM Matthew Wilcox wrote: > >> > >> On Tue, Jul 03, 2018 at 06:09:05PM +0300, Kirill Tkhai wrote: > >>> +++ b/mm/vmscan.c > >>> @@ -169,6 +169,49 @@ unsi

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Kirill Tkhai
Hi, Shakeel, On 03.07.2018 18:46, Shakeel Butt wrote: > On Tue, Jul 3, 2018 at 8:27 AM Matthew Wilcox wrote: >> >> On Tue, Jul 03, 2018 at 06:09:05PM +0300, Kirill Tkhai wrote: >>> +++ b/mm/vmscan.c >>> @@ -169,6 +169,49 @@ unsigned long vm_total_pages; >>> static LIST_HEAD(shrinker_list); >>>

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Kirill Tkhai
On 03.07.2018 18:27, Matthew Wilcox wrote: > On Tue, Jul 03, 2018 at 06:09:05PM +0300, Kirill Tkhai wrote: >> +++ b/mm/vmscan.c >> @@ -169,6 +169,49 @@ unsigned long vm_total_pages; >> static LIST_HEAD(shrinker_list); >> static DECLARE_RWSEM(shrinker_rwsem); >> >> +#ifdef CONFIG_MEMCG_KMEM >> +

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Shakeel Butt
On Tue, Jul 3, 2018 at 8:27 AM Matthew Wilcox wrote: > > On Tue, Jul 03, 2018 at 06:09:05PM +0300, Kirill Tkhai wrote: > > +++ b/mm/vmscan.c > > @@ -169,6 +169,49 @@ unsigned long vm_total_pages; > > static LIST_HEAD(shrinker_list); > > static DECLARE_RWSEM(shrinker_rwsem); > > > > +#ifdef CONFI

Re: [PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Matthew Wilcox
On Tue, Jul 03, 2018 at 06:09:05PM +0300, Kirill Tkhai wrote: > +++ b/mm/vmscan.c > @@ -169,6 +169,49 @@ unsigned long vm_total_pages; > static LIST_HEAD(shrinker_list); > static DECLARE_RWSEM(shrinker_rwsem); > > +#ifdef CONFIG_MEMCG_KMEM > +static DEFINE_IDR(shrinker_idr); > +static int shrin

[PATCH v8 03/17] mm: Assign id to every memcg-aware shrinker

2018-07-03 Thread Kirill Tkhai
The patch introduces shrinker::id number, which is used to enumerate memcg-aware shrinkers. The number start from 0, and the code tries to maintain it as small as possible. This will be used as to represent a memcg-aware shrinkers in memcg shrinkers map. Since all memcg-aware shrinkers are based