On 30/09/21 12:53, Frederic Weisbecker wrote: > On Thu, Sep 30, 2021 at 10:00:39AM +0100, Valentin Schneider wrote: >> My reasoning for adding protection in the outer functions was to prevent >> impaired unlocks of rcu_nocb_{un}lock_irqsave(), as that too depends on the >> offload state. Cf. Frederic's writeup: >> >> http://lore.kernel.org/r/20210727230814.GC283787@lothringen > > I was wrong about that BTW! > Because rcu_nocb_lock() always require IRQs to be disabled, which of course disables > preemption, so the offloaded state can't change between > rcu_nocb_lock[_irqsave]() and rcu_nocb_unlock[_irqrestore]() but anyway there > were many other issues to fix :-) > Ooooh... Even with you pointing it out, it took me a while to see it that way. It's tough to get out of holidays mode :-)