Re: rcu/tree: Protect rcu_rdp_is_offloaded() invocations on RT

From: Sebastian Andrzej Siewior
Date: Wed Sep 22 2021 - 02:32:18 EST


On 2021-09-22 01:45:18 [+0200], Frederic Weisbecker wrote:
>
> Also while at it, I'm asking again: traditionally softirqs could assume that
> manipulating a local state was safe against !irq_count() code fiddling with
> the same state on the same CPU.
>
> Now with preemptible softirqs, that assumption can be broken anytime. RCU was
> fortunate enough to have a warning for that. But who knows how many issues like
> this are lurking?

If "local state" is modified then it is safe as long as it is modified
within a local_bh_disable() section. And we are in this section while
invoking a forced-threaded interrupt. The special part about RCU is
that it is used in_irq() as part of core-code.

> Thanks.

Sebastian