On Tue, Dec 07, 2021 at 04:09:25PM +0100, Arnd Bergmann wrote: > +struct list_lru { > + struct list_lru_node *node; > +#ifdef CONFIG_MEMCG_KMEM > + struct list_head list; > + int shrinker_id; > + bool memcg_aware; > +#endif > +}; This is the only one that gives me qualms. While there are other CONFIG options mentioned in types.h they're properties of the platform, eg CONFIG_HAVE_UID16, CONFIG_64BIT, CONFIG_ARCH_DMA_ADDR_T_64BIT, etc. I dislike it that changing this CONFIG option is going to result in rebuilding the _entire_ kernel. CONFIG_MEMCG_KMEM just isn't that central to how everything works.