v4
2026-07-20
引入kfree_rcu_nolock()及slub_kunit改进 · v4
新增kfree_rcu_nolock()减少锁竞争,并改进slub_kunit测试覆盖,基于next-20260612。
原始补丁链接
子 Patch(8)
1/8
mm/slab, slub_kunit: register kprobe to trigger _nolock APIs
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: - [High] The globally registered kprobe pre-handler executes system-wide on all CPUs, causing non-test tasks
2/8
mm/slab: handle the !allow_spin case in kfree_rcu_sheaf()
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: New issues: - [High] kfree_rcu_sheaf() hardcodes SLAB_FREE_DEFAULT, rendering the new !allow_spin fallback l
3/8
mm/slab: use call_rcu() in unknown context if irqs are enabled
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] Acquiring local_trylock in __kfree_rcu_sheaf() causes an invalid wait context
4/8
mm/slab: extend deferred free mechanism to handle rcu sheaves
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: Pre-existing issues: - [High] __kfree_rcu_sheaf() acquires a lock using local_trylock(), which triggers
5/8
mm/slab: allow kfree_rcu_sheaf() on PREEMPT_RT
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: New issues: - [High] Calling local_trylock() inside kvfree_call_rcu() on PREEMPT_RT violates lockdep wai
6/8
mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [High] KASAN tag loss in kvmalloc_obj_start_addr() causes debugobjects memory leak, corrupted tracepoint of
7/8
mm/slab: introduce kfree_rcu_nolock()
Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider: - [High] kfree_call_rcu_nolock() crashes with a NULL pointer dereference when given a ZERO_SIZE_PTR or an uns
8/8
slub_kunit: extend the test for kfree_rcu_nolock()
在 slub_kunit 中扩展测试,当非内建时调用 kfree_rcu() 和 kfree_rcu_nolock() 测试后者,并重命名测试用例以覆盖更多 _nolock() API。