Re: [1/3] rcu: Replace magic number with meaningful constant in rcu_seq_done_exact() - Patchwork
From: Joel Fernandes
Date: Tue Apr 01 2025 - 12:33:18 EST
Hello, Frederic,
On Tue, 1 Apr 2025 16:27:36 GMT, Frederic Weisbecker wrote:
> Le Mon, Mar 31, 2025 at 02:29:52PM -0700, Paul E. McKenney a écrit :
> > The disagreement is a feature, at least up to a point. That feature
> > allows CPUs to go idle for long periods without RCU having to bother
> > them or to mess with their per-CPU data (give or take ->gpwrap). It also
> > allows per-rcu_node-leaf locking, which is important on large systems.
> >
> > Trying to make precisely globally agreed-on beginnings and ends of
> > RCU grace periods will not end well from performance, scalability,
> > or real-time-response viewpoints. ;-)
>
> The distributed disagreement is definetly a feature. The duplicate root
> is more debatable.
>
> > But simplifications that don't hurt performance, scalability, and
> > real-time-response are of course welcome.
>
> I'm not even sure my proposal is a simplification. Perhaps it is. Another
> hope is that it could avoid future accidents.
>
Aside from the performance concerns:
Sorry if this is silly but could you provide a small hint as to how
unifying the global counter with the node affects QS reporting or hotplug?
It was not immediately obvious to me. Thanks for the help.
Thanks!
- Joel
> > Indeed, this probably needs actual performance results showing that
> > it is needed. My guess is that only systems with a single rcu_node
> > structure that is both leaf and root would have any chance of noticing.
> > And those tend to have few CPUs, so they might not care.
>
> Do you have any idea for a benchmark to test here?
>
> Thanks.
>
> > Thanx, Paul