[GIT PULL] slab updates for 7.2

From: Vlastimil Babka (SUSE)

Date: Mon Jun 15 2026 - 04:51:05 EST


Hi Linus,

please pull the latest slab updates from:

git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-7.2

One conflict was reported with the drm tree. The kmem_cache_alloc_bulk() call
we adjust has moved to a different function there:

https://lore.kernel.org/all/ahoZ7OCzxTAbGMtO@xxxxxxxxxxxxx/

Thanks,
Vlastimil

======================================

- Support for "allocation tokens" (currently available in Clang 22+) for
smarter partitioning of kmalloc caches based on the allocated object type,
which can be enabled instead of the "random" per-caller-address-hash
partitioning. It should be able to deterministically separate types containing
a pointer from those that do not. (Marco Elver)

- Improvements and simplification of the kmem_cache_alloc_bulk() and
mempool_alloc_bulk() API. This includes adaptation of callers.
(Christoph Hellwig)

- Performance improvements and cleanups related mostly to sheaves refill.
(Hao Li, Shengming Hu, Vlastimil Babka)

- Several fixups for the slabinfo tool. (Xuewen Wang)

----------------------------------------------------------------
The following changes since commit 5d6919055dec134de3c40167a490f33c74c12581:

Linux 7.1-rc3 (2026-05-10 14:08:09 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-7.2

for you to fetch changes up to dfdfd58cce1c3f5df8733b64595448996c08e424:

Merge branch 'slab/for-7.2/alloc_token' into slab/for-next (2026-06-12 11:25:12 +0200)

----------------------------------------------------------------
slab changes for 7.2

----------------------------------------------------------------
Christoph Hellwig (2):
mm/slab: improve kmem_cache_alloc_bulk
mm: simplify the mempool_alloc_bulk API

Hao Li (2):
mm/slub: introduce helpers for node partial slab state
mm/slub: detach and reattach partial slabs in batch

Marco Elver (3):
slab: support for compiler-assisted type-based slab cache partitioning
slab: improve KMALLOC_PARTITION_RANDOM randomness
slab: fix kernel-docs for mm-api

Shengming Hu (3):
mm/slub: defer freelist construction until after bulk allocation from a new slab
mm/slub: use empty sheaf helpers for oversized sheaves
mm/slub: preserve original size in _kmalloc_nolock_noprof retry path

Vlastimil Babka (SUSE) (7):
mm, slab: add an optimistic __slab_try_return_freelist()
mm, slab: simplify returning slab in __refill_objects_node()
MAINTAINERS: add slab-related scripts and tools to SLAB ALLOCATOR
mm/slab: do not limit zeroing to orig_size when only red zoning is enabled
Merge branch 'slab/for-7.2/tools' into slab/for-next
Merge branch 'slab/for-7.2/alloc_bulk' into slab/for-next
Merge branch 'slab/for-7.2/alloc_token' into slab/for-next

Wilson Zeng (1):
mm/slub: fix typo in sheaves comment

Xuewen Wang (3):
tools/mm/slabinfo: Fix trace disable logic inversion
tools/mm/slabinfo: remove dead assignment in get_obj_and_str()
tools/mm/slabinfo: remove redundant slab->partial assignment

MAINTAINERS | 6 +
Makefile | 5 +
block/blk-crypto-fallback.c | 9 +-
drivers/gpu/drm/msm/msm_iommu.c | 13 +-
drivers/gpu/drm/panthor/panthor_mmu.c | 13 +-
include/linux/instruction_pointer.h | 24 ++
include/linux/mempool.h | 2 +-
include/linux/percpu.h | 2 +-
include/linux/slab.h | 324 ++++++++++++----
init/Kconfig | 3 +
io_uring/io_uring.c | 23 +-
kernel/configs/hardening.config | 2 +-
lib/test_meminit.c | 23 +-
mm/Kconfig | 73 +++-
mm/kasan/kasan_test_c.c | 5 +-
mm/kfence/kfence_test.c | 13 +-
mm/mempool.c | 27 +-
mm/slab.h | 4 +-
mm/slab_common.c | 52 +--
mm/slub.c | 680 ++++++++++++++++------------------
net/bpf/test_run.c | 7 +-
net/core/skbuff.c | 24 +-
tools/include/linux/slab.h | 2 +-
tools/mm/slabinfo.c | 8 +-
tools/testing/shared/linux.c | 19 +-
25 files changed, 788 insertions(+), 575 deletions(-)