Thanks Mathieu. Is it safe to assume that if call_rcu is called twice then the callbacks are executed in the order that call_rcu was invoked? I think there is a queue and only one thread that QSBR uses to handle callbacks, i just wanted to make sure that the queue was a guaranteed fifo.
Sent from my iPhone > On Apr 15, 2021, at 12:00 PM, Mathieu Desnoyers > <mathieu.desnoy...@efficios.com> wrote: > > ----- On Apr 15, 2021, at 10:54 AM, lbj lbj...@yahoo.com wrote: > >> Mathieu, >> Thanks so much for your wealth if information and timely responses, they are >> greatly appreciated. Final question: is there any harm in explicitly calling >> rcu_thread_online/rcu_thread_offline from within my call_rcu callback >> function? >> From what you described it sounds like it would be redundant, but presumably >> would be harmless. Correct? Thanks again. > > You could indeed invoke pairs of: > > rcu_thread_offline(); <--- emphasis on _offline_ here. > [ long wait ... ] > rcu_thread_online(); > > in that specific order within the call-rcu worker thread. Note that the qsbr > state > of the call-rcu worker thread is "online" when it invokes the callbacks, so > each callback > should make sure that state is back to "online" before it returns control back > to its caller. > > Thanks, > > Mathieu > > -- > Mathieu Desnoyers > EfficiOS Inc. > http://www.efficios.com _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev