[PATCH 0/3] cleanup of SLAB_ flags

From: Vlastimil Babka
Date: Tue Feb 20 2024 - 11:59:12 EST


This started by the report that SLAB_MEM_SPREAD flag is dead (Patch 1).
Then in the alloc profiling series we realized it's too easy to reuse an
existing SLAB_ flag's value when defining a new one, by mistake.
Thus let the compiler do that for us via a new helper enum (Patch 2).
When checking if more flags are dead or could be removed, didn't spot
any, but found out the SLAB_KASAN handling of preventing cache merging
can be simplified since we now have an explicit SLAB_NO_MERGE (Patch 3).

The SLAB_MEM_SPREAD flag is now marked as unused and for removal, and
has a value of 0 so it's a no-op. Patches to remove its usage can/will
be submitted to respective subsystems independently of this series - the
flag is already dead as of v6.8-rc1 with SLAB removed. The removal of
dead cpuset_do_slab_mem_spread() code can also be submitted
independently.

Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
---
Vlastimil Babka (3):
mm, slab: deprecate SLAB_MEM_SPREAD flag
mm, slab: use an enum to define SLAB_ cache creation flags
mm, slab, kasan: replace kasan_never_merge() with SLAB_NO_MERGE

include/linux/kasan.h | 6 ----
include/linux/slab.h | 86 +++++++++++++++++++++++++++++++++++++--------------
mm/kasan/generic.c | 16 +++-------
mm/slab.h | 1 -
mm/slab_common.c | 2 +-
mm/slub.c | 6 ++--
6 files changed, 71 insertions(+), 46 deletions(-)
---
base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d
change-id: 20240219-slab-cleanup-flags-c864415ecc8e

Best regards,
--
Vlastimil Babka <vbabka@xxxxxxx>