[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <97bc2b22-0ef6-4ac4-a7c8-0f7f4886cfe5@linux.ibm.com>
Date: Tue, 13 Jan 2026 10:23:53 +0530
From: Shrikanth Hegde <sshegde@...ux.ibm.com>
To: Joel Fernandes <joelagnelf@...dia.com>,
Uladzislau Rezki <urezki@...il.com>,
"paulmck@...nel.org"
<paulmck@...nel.org>
Cc: Vishal Chourasia <vishalc@...ux.ibm.com>,
"rcu@...r.kernel.org" <rcu@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"frederic@...nel.org" <frederic@...nel.org>,
"neeraj.upadhyay@...nel.org" <neeraj.upadhyay@...nel.org>,
"josh@...htriplett.org" <josh@...htriplett.org>,
"boqun.feng@...il.com" <boqun.feng@...il.com>,
"rostedt@...dmis.org" <rostedt@...dmis.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"peterz@...radead.org" <peterz@...radead.org>,
"srikar@...ux.ibm.com" <srikar@...ux.ibm.com>
Subject: Re: [PATCH] cpuhp: Expedite synchronize_rcu during CPU hotplug
operations
Hi.
On 1/13/26 8:16 AM, Joel Fernandes wrote:
>
>
>>>>> Another way to make it in-kernel would be to make the RCU normal wake
>>>>> from GP optimization enabled for > 16 CPUs by default.>>
>>>>> I was considering this, but I did not bring it up because I did not
>>>>> know that there are large systems that might benefit from it until now.>
>>>> This would require increasing the scalability of this optimization,
>>>> right? Or am I thinking of the wrong optimization? ;-)
>>>>
>>> Yes I think you are considering the correct one, the concern you have is
>>> regarding large number of wake ups initiated from the GP thread, correct?
>>>
>>> I was suggesting on the thread, a more dynamic approach where using
>>> synchronize_rcu_normal() until it gets overloaded with requests. One approach
>>> might be to measure the length of the rcu_state.srs_next to detect an overload
>>> condition, similar to qhimark? Or perhaps qhimark itself can be used. And under
>>> lightly loaded conditions, default to synchronize_rcu_normal() without checking
>>> for the 16 CPU count.
>>>
>>> Thoughts?
>>
>> Or maintain multiple lists. Systems with 1000+ CPUs can be a bit
>> unforgiving of pretty much any form of contention.
>
> Makes sense. We could also just have a single list but a much smaller threshold for switching synchronize_rcu_normal off.
>
> That would address the conveyor belt pattern Vishal expressed.
>
> thanks,
>
> - Joel
>
Wouldn't that make most of the sync_rcu calls on large system
with synchronize_rcu_normal off?
Whats the cost of doing this?
(Me not knowing much about rcu internals)
Powered by blists - more mailing lists