On 2021-09-30 00:10:12 [+0200], Frederic Weisbecker wrote: > rcu_core() tries to ensure that its self-invocation in case of callbacks > overload only happen in softirq/rcuc mode. Indeed it doesn't make sense > to trigger local RCU core from nocb_cb kthread since it can execute > on a CPU different from the target rdp. Also in case of overload, the > nocb_cb kthread simply iterates a new loop of callbacks processing. > > However the "offloaded" check that aims at preventing that is wrong. - that? > First of all that state is volatile and second: softirq/rcuc can > execute while the target rdp is offloaded. As a result rcu_core() can can what? > Fix that with moving the rcu_core() self-invocation to rcu_core() itself, > irrespective of the rdp offloaded state. Sebastian