[lttng-dev] RCU API usage from call_rcu callbacks?

Ondřej Surý ondrej at sury.org
Wed Mar 22 07:08:33 EDT 2023


the documentation is pretty silent on this, and asking here is probably going to be faster
than me trying to use the source to figure this out.

Is it legal to call_rcu() from within the call_rcu() callback?

What about the other RCU (and CDS) API calls?

How does that interact with create_call_rcu_data()?  I have <n> event loops and I am
initializing <n> 1:1 call_rcu helper threads as I need to do some per-thread initialization
as some of the destroy-like functions use random numbers (don't ask).

If it's legal to call_rcu() from call_rcu thread, which thread is going to be used?

Thank you,
Ondřej Surý (He/Him)
ondrej at sury.org

More information about the lttng-dev mailing list