Re: [PATCH 0/4] mm: Use slab_list list_head instead of lru

From: Tobin C. Harding
Date: Mon Mar 11 2019 - 21:06:27 EST


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.