linux/lib/tests
Linus Torvalds 918e25291c slab changes for 7.3
-----BEGIN PGP SIGNATURE-----
 
 iQFPBAABCAA5FiEEe7vIQRWZI0iWSE3xu+CwddJFiJoFAmqMSHQbFIAAAAAABAAO
 bWFudTIsMi41KzEuMTIsMiwyAAoJELvgsHXSRYiaC8EH/ihctMRDnqbUxyc3cSIZ
 cuy3ocSSu8UnHzSNarylY8sVYIYflgY6owV7UvaUKmXGYHiHIDdI5NMDzpjola7X
 Ct7mpIuobFHpFhTQMqvYkeEQ3EytS7NPHKs3jd6t2HSOYJdY4lghjRZcxOlo7+GA
 5EJa468TSHswWbT34e3NY7gpoHCXTucR6FBqoVtluLOliQWNMkWbeDQ9hEnMoyNy
 hEdooWDxt8vBuSqVRCZxrgJRK2nauf1P/CHZm4HcNttOQp0iwr8Q7GER7dBpW0jR
 1b1zM9YPH4g6CSll5V6sWSMUNAaDx3Akx3ZyKhd3G2kyP3HkPXKSag/fS8xxCFLN
 hh0=
 =6lTR
 -----END PGP SIGNATURE-----

Merge tag 'slab-for-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab

Pull slab updates from Vlastimil Babka:

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

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

* tag 'slab-for-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab: (31 commits)
  mm/slab, kfence, memcg: completely remove obj_ext for kfence objects
  mm/slab: stop allocating objcg pointers when unnecessary
  mm/slab: add cache_ and slab_needs_objcg() helpers
  mm/slab: stop exporting kvfree_rcu_barrier[_on_cache]()
  slub_kunit: extend the test for kfree_rcu_nolock()
  mm/slab: introduce kfree_rcu_nolock()
  mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching
  mm/slab: reduce slabobj_ext memory with allocation profiling disabled
  mm/slab: introduce slab_obj_ext_has_codetag()
  mm/slab: allow kfree_rcu_sheaf() on PREEMPT_RT
  mm/slab: extend deferred free mechanism to handle rcu sheaves
  mm/slab: use call_rcu() in unknown context if irqs are enabled
  mm/slab: handle the !allow_spin case in kfree_rcu_sheaf()
  mm/slab: change struct slabobj_ext to a union
  mm/slab: replace slab.stride with obj_exts_in_object
  mm/slab: abstract slabobj_ext.ref access
  mm/slab: abstract slabobj_ext.objcg access
  mm/slab: make slab_obj_ext() determine object index
  mm: move struct slabobj_ext to mm/slab.h
  mm/slab: remove objs_per_slab()
  ...
2026-08-24 10:58:57 -07:00
..
module tests/module: nix-ify 2025-03-10 11:54:13 +01:00
base64_kunit.c lib: add KUnit tests for base64 encoding/decoding 2025-11-20 14:03:44 -08:00
bitfield_kunit.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
bitops_kunit.c lib/tests: extend KUnit test for bitops with more cases 2026-02-08 18:47:29 -05:00
blackhole_dev_kunit.c net: Use helpers to get/set UDP len tree-wide 2026-07-22 13:47:02 +02:00
checksum_kunit.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
cmdline_kunit.c lib/cmdline_kunit: add test case for memparse() 2026-05-28 21:24:50 -07:00
cpumask_kunit.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
ffs_kunit.c KUnit: ffs: Validate all the __attribute_const__ annotations 2025-09-08 14:58:52 -07:00
fortify_kunit.c string: Remove strncpy() from the kernel 2026-06-18 16:39:31 -07:00
glob_kunit.c lib/glob: convert selftest to KUnit 2026-01-26 19:07:13 -08:00
hashtable_test.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
is_signed_type_kunit.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
kfifo_kunit.c lib/tests/kfifo_kunit.c: add tests for the kfifo structure 2025-02-10 18:25:39 -08:00
kunit_iov_iter.c iov_iter: Remove unused variable in kunit_iov_iter.c 2026-07-01 15:26:29 +02:00
list-private-test.c list: add kunit test for private list primitives 2026-02-08 00:13:32 -08:00
list-test.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
liveupdate.c liveupdate: Reference count incoming FLB data 2026-06-01 02:31:38 +03:00
longest_symbol_kunit.c kunit: fix longest symbol length test 2025-07-10 14:02:07 -06:00
Makefile Revert "printf: Compile the kunit test with DISABLE_BRANCH_PROFILING DISABLE_BRANCH_PROFILING" 2026-08-03 21:10:11 -07:00
memcpy_kunit.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
min_heap_kunit.c lib/tests: convert test_min_heap module to KUnit 2026-01-26 19:07:10 -08:00
overflow_kunit.c kunit/overflow: Add tests for STACK_FLEX_ARRAY_SIZE() helper 2025-05-08 09:42:05 -07:00
printf_kunit.c Merge branch 'for-7.2-vsprintf-pmM-uppercase' into for-linus 2026-06-17 08:58:22 +02:00
random32_kunit.c lib/random32: convert selftest to KUnit 2026-08-03 21:10:09 -07:00
randstruct_kunit.c lib/tests: randstruct: Add deep function pointer layout test 2025-05-08 09:42:40 -07:00
scanf_kunit.c scanf: break kunit into test cases 2025-03-14 13:56:15 -07:00
seq_buf_kunit.c seq_buf: export seq_buf_putmem_hex() and add KUnit tests 2026-05-28 21:24:41 -07:00
shdi3_kunit.c lib: kunit: add tests for __ashldi3(), __ashrdi3(), and __lshrdi3() 2026-05-28 21:24:51 -07:00
siphash_kunit.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
slub_kunit.c slub_kunit: extend the test for kfree_rcu_nolock() 2026-08-04 12:18:29 +02:00
stackinit_kunit.c Kbuild: remove structleak gcc plugin 2025-04-30 21:57:09 +02:00
string_helpers_kunit.c lib/tests: string_helpers: don't use "proxy" headers 2026-05-28 21:24:42 -07:00
string_kunit.c lib/string_kunit: extend benchmarks to strnlen() and chr searches 2026-04-04 18:42:44 -06:00
test_bits.c test_bits: add tests for __GENMASK() and __GENMASK_ULL() 2025-07-31 11:28:03 -04:00
test_fprobe.c lib/test_fprobe: add testcase for mixed fprobe 2025-11-11 22:32:09 +09:00
test_hash.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
test_kprobes.c test_kprobes: clear kprobes between test runs 2026-05-08 10:03:44 +09:00
test_linear_ranges.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
test_list_sort.c test_list_sort: fix up const mismatch 2026-01-05 15:32:03 -07:00
test_ratelimit.c lib/tests: test_ratelimit: fix stress test thread lifecycle and leak 2026-06-25 13:28:37 +02:00
test_sort.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
usercopy_kunit.c kunit/usercopy: Disable u64 test on 32-bit SPARC 2025-04-28 10:32:43 -07:00
util_macros_kunit.c lib: Move KUnit tests into tests/ subdirectory 2025-02-10 18:25:39 -08:00
uuid_kunit.c lib/uuid_kunit: add tests for the four random UUID/GUID generators 2026-05-28 21:24:58 -07:00