Hi, Ralf, I hope I didn't misunderstand your meaning... If all cores share the same clockrate (like Loongson-3A), then CPUFreq driver should update all core's udelay_val (include the offline core's udelay_val) at frequency changing. If each core has its own clockrate (like Loongson-3B), the new online core can use its old udelay_val when online. In any case, we don't use loops_per_jiffy for CPU hotplug. Maybe you need to see set_shared_udelay_val() in my patch. Huacai On Tue, Nov 11, 2014 at 7:07 PM, Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote: > On Tue, Nov 11, 2014 at 07:02:48PM +0800, Huacai Chen wrote: > >> Loops_per_jiffy is set on startup and doesn't change later. It reflect >> the maximum value frequency, but for CPU hotplug, a new online CPU may >> not run at the maximum frequency (remain the old value before it is >> offline). > > As suspected. But what if a CPU is hotunplugged, then the clockrate > for all the CPUs changes and then the gets re-hotplugged into the system. > Wouldn't in that case the udelay_val be used? > > Ralf >