Hello Peter,


On Mon, Jan 12, 2026 at 03:24:40PM +0100, Peter Zijlstra wrote:
> On Mon, Jan 12, 2026 at 03:13:33PM +0530, Vishal Chourasia wrote:
> > Bulk CPU hotplug operations—such as switching SMT modes across all
> > cores—require hotplugging multiple CPUs in rapid succession. On large
> > systems, this process takes significant time, increasing as the number
> > of CPUs grows, leading to substantial delays on high-core-count
> > machines. Analysis [1] reveals that the majority of this time is spent
> > waiting for synchronize_rcu().
> > 
> > Expedite synchronize_rcu() during the hotplug path to accelerate the
> > operation. Since CPU hotplug is a user-initiated administrative task,
> > it should complete as quickly as possible.
> > 
> > Performance data on a PPC64 system with 400 CPUs:
> > 
> > + ppc64_cpu --smt=1 (SMT8 to SMT1)
> > Before: real 1m14.792s
> > After:  real 0m03.205s  # ~23x improvement
> > 
> > + ppc64_cpu --smt=8 (SMT1 to SMT8)
> > Before: real 2m27.695s
> > After:  real 0m02.510s  # ~58x improvement
> > 
> 
> But who cares? Its not like you'd *ever* do this, right?
Users dynamically adjust SMT modes to optimize performance of the
workload being run. And, yes it doesn't happen too often, but when it
does, on machines with (>= 1920 CPUs) it takes more than 20 mins to
finish.

- vishal

Reply via email to