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

From: Matthew Wilcox
Date: Mon Mar 11 2019 - 19:16:43 EST


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.