Re: [PATCH 10/21] context_tracking: Take idle eqs entrypoints over RCU

Frederic Weisbecker
2022-05-03T11:42:33Z

On Tue, May 03, 2022 at 12:02:51PM +0100, Mark Rutland wrote:
> Hi Frederic,
>
> On Tue, May 03, 2022 at 12:00:40PM +0200, Frederic Weisbecker wrote:
> > The RCU dynticks counter is going to be merged into the context tracking
> > subsystem. Start with moving the idle extended quiescent states
> > entrypoints to context tracking. For now those are dumb redirections to
> > existing RCU calls.
>
> I was a bit confused looking at this, because that redirection only exists for
> CONFIG_CONTEXT_TRACKING, and is empty otherwise.
>
> I see this patch makes TREE_RCU select CONTEXT_TRACKING, which means that
> works. Since that also means building the rest of the context tracking code, I
> think it'd be worth mentioning that in the commit message.

Not exactly, it only builds a minimal version of CONTEXT_TRACKING, which maps
to roughly the vanilla RCU-idle code.

The user tracking part (which is the vanilla CONTEXT_TRACKING) now becomes
CONFIG_CONTEXT_TRACKING_USER

> Do all architectures which can use TREE_RCU today already support context
> tracking? If not, do those work by default?

No need to, the old context tracking becomes CONFIG_CONTEXT_TRACKING_USER
which is not needed by TREE_RCU.

Ok you're right, this is all very confusing :o)

Let's clarify this, I'm going to do the following on the next version:

* The current CONFIG_CONTEXT_TRACKING becomes CONFIG_CONTEXT_TRACKING_USER.
This part needs support from the architecture.

* The RCU-idle functions that have been moved to context tracking will become
CONFIG_CONTEXT_TRACKING_IDLE. This part doesn't need support from the
architecture and will be set by TREE_RCU.

Would that look clearer?

Thanks.