call_rcu_tasks_trace(9)
β¨ call_rcu_tasks_trace β¨
Okay bestie, so this one is from the Kernel API Manual β call_rcu_tasks_trace(9) β and it's honestly giving "queue up your callback and let the kernel handle the timing" π
π NAME π
call_rcu_tasks_trace β Queue a callback trace task-based grace period
π¦ SYNOPSIS π¦
void call_rcu_tasks_trace (struct rcu_head *rhp , rcu_callback_t func );
πΈ ARGUMENTS πΈ
rhpβ the structure to be used for queueing the RCU updates. That's your little parking spot for the request π ΏοΈβ¨funcβ the actual callback function to be invoked after the grace period. The main character, fr fr π
π DESCRIPTION π
So here's the tea β β your callback function gets invoked some time after a trace rcu-tasks grace period elapses. Translation: after all the currently executing trace rcu-tasks read-side critical sections have completed. No cap, that's the whole vibe check β
Those read-side critical sections are delimited by calls to rcu_read_lock_trace and rcu_read_unlock_trace β like, that's how they know where one starts and where one ends π
Ok so for the β¨detailedβ¨ deets on memory ordering guarantees, go peek at the description of call_rcu. It's got the receipts π₯
π§ SEE ALSO π§
Kernel file ./include/linux/rcupdate_trace.h
rcu_read_lock_tasks_trace(9)rcu_read_unlock_tasks_trace(9)rcu_read_lock_trace(9)rcu_read_unlock_trace(9)synchronize_rcu_tasks_trace(9)rcu_barrier_tasks_trace(9)rcu_tasks_trace_expedite_current(9)
And that's the whole page, bestie π«Ά β brought to you straight out of ./include/linux, Kernel API Manual edition, dated October 2026. Slay, go queue those callbacks π
πβ
π¦ 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