[GIT PULL] slab updates for 7.3
"Vlastimil Babka (SUSE)" <[email protected]>
| Newsgroups | org.kvack.linux-mm,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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.3 There's a semantic conflict with changes in char-misc that will break Rust build due to a change of kvfree_call_rcu() parameter type. In linux-next this was solved by this fixup applied as part of the merge commit of whichever of the trees is merged later: https://lore.kernel.org/all/[email protected]/ Thanks, Vlastimil ====================================== - Addition of kfree_rcu_nolock() that can be used from contexts where spinning on a lock might be unsafe, such as a BPF program attached to an arbitrary function, or in NMI context. This complements the existing kfree_nolock() support. (Harry Yoo) - Runtime instead of compile-time slabobj_ext sizing. Avoids wasting memory when memory allocation profiling is compiled but not enabled, with initial partial support to also avoid wasting memory for objcg pointers when those are not needed, while profiling is enabled. (Vlastimil Babka) - Various non-urgent fixes, cleanups and optimizations. (Hao Li, Hongling Zeng, Li RongQing, Li Xiasong, Seongjun Hong, Shengming Hu) ---------------------------------------------------------------- The following changes since commit 5ff172f6c94d282d83cb88bdfec5f647ad9c6105: slab: silence sparse warning with type-based partitioning (2026-07-21 11:28:21 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab.git tags/slab-for-7.3 for you to fetch changes up to 564ed40708ebc60a78f280944799cbe8e3401816: Merge branch 'slab/for-7.3/kfree_rcu_nolock' into slab/for-next (2026-08-24 15:01:27 +0200) ---------------------------------------------------------------- slab changes for 7.3 ---------------------------------------------------------------- Hao Li (1): mm/slub: deduplicate NUMA policy calculation in allocation paths Harry Yoo (Oracle) (8): mm/slab, slub_kunit: register kprobe to trigger _nolock APIs mm/slab: handle the !allow_spin case in kfree_rcu_sheaf() mm/slab: use call_rcu() in unknown context if irqs are enabled mm/slab: extend deferred free mechanism to handle rcu sheaves mm/slab: allow kfree_rcu_sheaf() on PREEMPT_RT mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching mm/slab: introduce kfree_rcu_nolock() slub_kunit: extend the test for kfree_rcu_nolock() Hongling Zeng (1): mm/slub: add comment explaining intentional kobject handling in sysfs_slab_add Li RongQing (1): mm/mempool: Untangle CONFIG_SLUB_DEBUG_ON abuse and switch to static key Li Xiasong (1): mm/slub: fix missing debugfs entries for caches created before sysfs init Seongjun Hong (2): slab: remove unused SL_CPU slab_stat_type docs: ABI: sysfs-kernel-slab: mark cpu_partial attributes deprecated Shengming Hu (1): mm/slub: prevent pfmemalloc objects from entering the barn Vlastimil Babka (SUSE) (18): mm/slab: extract __free_to_pcs_batch() from free_to_pcs_bulk() mm/slab: simplify freeing remote objects in free_to_pcs_bulk() mm/slab: skip kfence objects in allocation profiling mm/slab: remove objs_per_slab() mm: move struct slabobj_ext to mm/slab.h mm/slab: make slab_obj_ext() determine object index mm/slab: abstract slabobj_ext.objcg access mm/slab: abstract slabobj_ext.ref access mm/slab: replace slab.stride with obj_exts_in_object mm/slab: change struct slabobj_ext to a union mm/slab: introduce slab_obj_ext_has_codetag() mm/slab: reduce slabobj_ext memory with allocation profiling disabled mm/slab: stop exporting kvfree_rcu_barrier[_on_cache]() mm/slab: add cache_ and slab_needs_objcg() helpers mm/slab: stop allocating objcg pointers when unnecessary mm/slab, kfence, memcg: completely remove obj_ext for kfence objects Merge branch 'slab/for-7.3/objext_split' into slab/for-next Merge branch 'slab/for-7.3/kfree_rcu_nolock' into slab/for-next Documentation/ABI/testing/sysfs-kernel-slab | 18 +- Documentation/admin-guide/kernel-parameters.txt | 5 + Documentation/mm/allocation-profiling.rst | 7 + include/linux/memcontrol.h | 13 - include/linux/rcupdate.h | 32 +- include/linux/slab.h | 19 +- include/linux/types.h | 10 + include/trace/events/rcu.h | 2 +- lib/tests/slub_kunit.c | 190 +++++-- mm/kfence/core.c | 12 - mm/kfence/kfence.h | 3 - mm/kfence/kfence_test.c | 2 +- mm/memcontrol.c | 37 +- mm/mempool.c | 35 +- mm/slab.h | 245 +++++++-- mm/slab_common.c | 111 +++- mm/slub.c | 660 ++++++++++++++---------- 17 files changed, 940 insertions(+), 461 deletions(-)