On Tue, Mar 12, 2019 at 01:01:53PM +1100, Tobin C. Harding wrote: > On Tue, Mar 12, 2019 at 12:22:23AM +0000, Roman Gushchin wrote: > > 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. > > > > Ah, perfect, thanks! Makes total sense then. > > > > Tobin, can you, please, add a note to the commit message? > > With the note: > > Reviewed-by: Roman Gushchin <guro@xxxxxx> > > Awesome, thanks. That's for all 4 patches or excluding 2? To all 4, given that you'll add some explanations to the commit message. Thanks!