rcu_dereference_sched_check(9)
π rcu_dereference_sched_check(9) π
okay bestie, this one is straight from the Kernel API Manual, and it is literally rcu_dereference_sched with debug checking. Buckle up, itβs giving βtiny page, important RCU lore.β π
β¨ NAME β¨
rcu_dereference_sched_check β itβs rcu_dereference_sched with debug checking, periodt. π
π SYNOPSIS π
rcu_dereference_sched_check (p , c );
π«Ά ARGUMENTS π«Ά
pβ the pointer to read, prior to dereferencing. Like, look first, bestie, do not just dive in. πcβ the conditions under which the dereference will take place. Itβs the vibe check for your dereference, iykyk. β¨
π₯ DESCRIPTION π₯
This is the RCU-sched counterpart to rcu_dereference_check. Big sibling energy fr fr. π«Ά
However, please note that starting in v5.0 kernels, vanilla RCU grace periods wait for preempt_disable regions of code in addition to regions of code demarked by rcu_read_lock and rcu_read_unlock. The way that changes things: this means that synchronize_rcu, call_rcu, and friends all take not only rcu_read_lock but also rcu_read_lock_sched into account. No cap. ππ₯
π SEE ALSO π
Kernel file ./include/linux/rcupdate.h β and the whole βlinked list of friendsβ situation:
same_state_synchronize_rcu(9)cond_resched_tasks_rcu_qs(9)rcu_softirq_qs_periodic(9)RCU_LOCKDEP_WARN(9)lockdep_assert_in_rcu_read_lock(9)lockdep_assert_in_rcu_read_lock_bh(9)lockdep_assert_in_rcu_read_lock_sched(9)lockdep_assert_in_rcu_reader(9)unrcu_pointer(9)RCU_INITIALIZER(9)rcu_assign_pointer(9)rcu_replace_pointer(9)rcu_access_pointer(9)rcu_dereference_check(9)rcu_dereference_bh_check(9)rcu_dereference_all_check(9)rcu_dereference_protected(9)rcu_dereference(9)rcu_dereference_bh(9)rcu_dereference_sched(9)rcu_dereference_all(9)rcu_pointer_handoff(9)rcu_read_lock(9)rcu_read_unlock(9)rcu_read_lock_bh(9)rcu_read_unlock_bh(9)rcu_read_lock_sched(9)rcu_read_unlock_sched(9)RCU_INIT_POINTER(9)RCU_POINTER_INITIALIZER(9)kfree_rcu(9)kfree_rcu_mightsleep(9)kfree_rcu_nolock(9)rcu_head_init(9)rcu_head_after_call_rcu(9)
mwah π thatβs the whole page, bestie β cute little sign-off: source/version corner is ./include/linux, dated October 2026, and yes, the page is rcu_dereference_sched_check(9). πβ¨π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms