Re: RCU stall warnings even with rcu_nocbs and rcu_nocb_poll

Sebastian Andrzej Siewior
2022-10-06T06:57:20Z

On 2022-10-05 18:03:39 [+0200], Daniel Bristot de Oliveira wrote:
> On 10/5/22 18:01, Florent Carli wrote:
> > Hello,
> >
> > I'm trying to isolate some cores to run a CPU-bound real-time task and
> > even though I'm using rcu_nocbs and rcu_nocb_poll, I can see the rcuc
> > threads wake up, and I get RCU stall warnings on the isolated core.
> > As per the documentation, if I use rcutree.kthread_prio with a
> > priority > my RT task, then the rcu stall does not happen.
> >
> > However I find it confusing: why are the rcuc threads woken up on the
> > isolated cores despite using rcu_nocbs and rcu_nocb_poll? In my (very
> > likely erroneous) understanding, I shouldn't have to fiddle with rcu
> > priority... In other words, how come I get rcu stalls on cores that
> > have no rcu callbacks?

There are different things:
- with CONFIG_RCU_NOCB_CPU you get addition threads and can move the
rcuo* theads away from the isolated CPU. That means the callbacks will
be handled on a different CPU.

- you still need to track/ follow the grace period. This still happens
in the rcuc thread. To get around this you need to use NO_HZ_FULL with
isolcpus/rcu_nocbs.

> Adding Joel because we had a chat about it during lpc...
>
> > Thanks.
> >
> -- Daniel

Sebastian