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

From: Roman Gushchin
Date: Mon Mar 11 2019 - 16:50:23 EST


On Mon, Mar 11, 2019 at 12:07:40PM +1100, Tobin C. Harding wrote:
> Currently the slab allocators (ab)use the struct page 'lru' list_head.
> We have a list head for slab allocators to use, 'slab_list'.
>
> Clean up all three allocators by using the 'slab_list' list_head instead
> of overloading the 'lru' list_head.
>
> Initial patch makes no code changes, adds comments to #endif statements.
>
> Final 3 patches do changes as a patch per allocator, tested by building
> and booting (in Qemu) after configuring kernel to use appropriate
> allocator. Also build and boot with debug options enabled (for slab
> and slub).

Hi Tobin!

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).

Please, add a clarification/comment.

For patches 1, 3 and 4:
Reviewed-by: Roman Gushchin <guro@xxxxxx>

Thanks!