On Mon, Mar 11, 2019 at 04:16:33PM -0700, Matthew Wilcox wrote: > On Mon, Mar 11, 2019 at 08:49:23PM +0000, Roman Gushchin wrote: > > The patchset looks good to me, however I'd add some clarifications > > why switching from lru to slab_list is safe. > > > > My understanding is that the slab_list fields isn't currently in use, > > but it's not that obvious that putting slab_list and next/pages/pobjects > > fields into a union is safe (for the slub case). > > It's already in a union. > > struct page { > union { > struct { /* Page cache and anonymous pages */ > struct list_head lru; > ... > struct { /* slab, slob and slub */ > union { > struct list_head slab_list; /* uses lru */ > struct { /* Partial pages */ > struct page *next; > > slab_list and lru are in the same bits. Once this patch set is in, > we can remove the enigmatic 'uses lru' comment that I added. Funny you should say this, I came to me today while daydreaming that I should have removed that comment :) I'll remove it in v2. thanks, Tobin.