summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorHarry Yoo (Oracle) <harry@kernel.org>2026-07-29 17:20:13 +0900
committerVlastimil Babka (SUSE) <vbabka@kernel.org>2026-07-31 15:56:46 +0200
commit2a8bb29ec9b202d3d7bd094c800e6990fee278ba (patch)
treeccc0d81f74e99b6058ceaa446d4e14246bcc6aff /scripts
parent69abda97a09b2e7df26d21cb534f4930201b4186 (diff)
downloadlinux-next-2a8bb29ec9b202d3d7bd094c800e6990fee278ba.tar.gz
linux-next-2a8bb29ec9b202d3d7bd094c800e6990fee278ba.zip
mm/slab: allow kfree_rcu_sheaf() on PREEMPT_RT
As suggested by Vlastimil Babka [1], kfree_rcu_sheaf() can be used on PREEMPT_RT if we always assume spinning is not allowed on PREEMPT_RT. This is because local_trylock and spinlock_t are safe to use with trylock and unlock as long as the kernel does not spin and the context is not NMI and not hardirq. Now that __kfree_rcu_sheaf() knows how to handle SLAB_FREE_NOLOCK, relax the limitation and try the sheaves path on PREEMPT_RT as well. Keep the lockdep map on non RT kernels. However, do not use the lockdep map on PREEMPT_RT to avoid suppressing valid lockdep warnings. As pointed by Vlastimil Babka [2], on PREEMPT_RT it is unnecessary to defer call_rcu() under IRQ-disabled section or raw spinlock. However, let us avoid adding more complexity as the scenario is not supposed to be common on PREEMPT_RT, with a hope that call_rcu_nolock() will be soon supported in RCU. Link: https://lore.kernel.org/linux-mm/6811cc17-8ee4-48c8-8cbf-6bf4d9f98162@kernel.org [1] Link: https://lore.kernel.org/linux-mm/40591888-3a87-433e-b3d2-cda1cab543be@kernel.org [2] Suggested-by: Vlastimil Babka (SUSE) <vbabka@kernel.org> Reviewed-by: Vlastimil Babka (SUSE) <vbabka@kernel.org> Signed-off-by: Harry Yoo (Oracle) <harry@kernel.org> Link: https://patch.msgid.link/20260729-kfree_rcu_nolock-v5-5-a28cdcda9673@kernel.org Signed-off-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions