[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190312010554.GA9362@eros.localdomain>
Date: Tue, 12 Mar 2019 12:05:54 +1100
From: "Tobin C. Harding" <me@...in.cc>
To: Matthew Wilcox <willy@...radead.org>
Cc: Roman Gushchin <guro@...com>,
"Tobin C. Harding" <tobin@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Christoph Lameter <cl@...ux.com>,
Pekka Enberg <penberg@...nel.org>,
David Rientjes <rientjes@...gle.com>,
Joonsoo Kim <iamjoonsoo.kim@....com>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/4] mm: Use slab_list list_head instead of lru
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.
Powered by blists - more mailing lists