init_rcu_head_on_stack(9)
π¦ init_rcu_head_on_stack π¦
okay so bestie, this is the Kernel API Manual page for init_rcu_head_on_stack(9) β manual name folded in right here, iconic. Itβs all about giving an on-stack rcu_head its debugobjects moment. Slay.
π NAME π
init_rcu_head_on_stack β initialize on-stack rcu_head for debugobjects.
β¨ SYNOPSIS β¨
void init_rcu_head_on_stack (struct rcu_head *head );
π ARGUMENTS π
headβ pointer torcu_headstructure to be initialized. This is the head being handed over, bestie.
π₯ DESCRIPTION π₯
Okay so hereβs the vibe: this function informs debugobjects of a new rcu_head structure that has been allocated as an auto variable on the stack. Itβs giving βhey debugobjects, new stack auto variable just dropped.β β¨
This function is not required for rcu_head structures that are statically defined or that are dynamically allocated on the heap. So donβt come for this function unless the head is living that stack life.
lowkey important: this function has no effect for !CONFIG_DEBUG_OBJECTS_RCU_HEAD kernel builds. No cap. π
π SEE ALSO π
The kernel file to peek at is ./kernel/rcu/update.c, and the whole friend group is:
rcu_read_lock_held_common(9)rcu_async_hurry(9)rcu_async_relax(9)rcu_expedite_gp(9)rcu_unexpedite_gp(9)rcu_read_lock_held(9)rcu_read_lock_bh_held(9)wakeme_after_rcu(9)destroy_rcu_head_on_stack(9)get_completed_synchronize_rcu(9)
mwah π sign-off: source ./kernel/rcu, date October 2026, page init_rcu_head_on_stack(9) β periodt. π«Ά
π¦ 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