call_rcu_tasks(9)
πΈ NAME πΈ
call_rcu_tasks(9) β from the Kernel API Manual, bestie β Queue an RCU for invocation task-based grace period. π
β¨ SYNOPSIS β¨
void call_rcu_tasks (struct rcu_head *rhp , rcu_callback_t func );
π ARGUMENTS π
rhpβ structure to be used for queueing the RCU updates. π«Άfuncβ actual callback function to be invoked after the grace period. π
π¦ DESCRIPTION π¦
okay so here's the tea: the callback function will be invoked some time after a full grace period elapses β in other words, after all currently executing rcu-tasks read-side critical sections have completed. β¨
call_rcu_tasks assumes that those read-side critical sections end at a voluntary context switch (not a preemption!), at cond_resched_tasks_rcu_qs, at entry into idle, or at transition to usermode execution. periodt. π
Because of that, there are no read-side primitives analogous to rcu_read_lock and rcu_read_unlock β none, zero, not a one π β because this primitive is intended to determine that all tasks have passed through a safe state, not so much for data-structure synchronization. It's giving "safe-state detector," not "data-structure-sync main character." π«Ά
See the description of call_rcu for more detailed information on memory ordering guarantees. iykyk π₯
π SEE ALSO π
- Kernel file
./kernel/rcu/tasks.hβstruct rcu_tasks_percpu(9),struct rcu_tasks(9),synchronize_rcu_tasks(9),rcu_barrier_tasks(9),synchronize_rcu_tasks_rude(9)π
mwah π source/version: ./kernel/rcu Β· date: October 2026 Β· page: call_rcu_tasks(9) β bye bestie, go queue that callback responsibly! ππ¦
π¦ 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