On Tue, Dec 7, 2021 at 4:21 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > 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. I included this one because 'struct list_lru' is used in 'struct super_block', which I move into 'linux/fs_types.h' in the third patch. It is otherwise not used a lot though, and 'struct super_block' is rarely much outside of file system code. If we leave super_block in fs.h or in a separate header, it should be fine. Arnd