On Wed, 09 May 2018 14:56:55 +0300 Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> wrote: > 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. > > ... > > --- a/fs/super.c > +++ b/fs/super.c > @@ -248,6 +248,9 @@ static struct super_block *alloc_super(struct file_system_type *type, int flags, > s->s_time_gran = 1000000000; > s->cleancache_poolid = CLEANCACHE_NO_POOL; > > +#if defined(CONFIG_MEMCG) && !defined(CONFIG_SLOB) It would be more conventional to do this logic in Kconfig - define a new MEMCG_SHRINKER which equals MEMCG && !SLOB. This ifdef occurs a distressing number of times in the patchset :( I wonder if there's something we can do about that. Also, why doesn't it work with slob? Please describe the issue in the changelogs somewhere. It's a pretty big patchset. I *could* merge it up in the hope that someone is planning do do a review soon. But is there such a person?