Re: [RFC] Improving udelay/ndelay on platforms where that is possible

From: Marc Gonzalez
Date: Thu Nov 16 2017 - 11:51:23 EST


On 16/11/2017 17:47, Nicolas Pitre wrote:

> Look at cpufreq_callback() in arch/arm/kernel/smp.c.

Are you pointing at the scaling of loops_per_jiffy done in that function?

As I wrote earlier:

If I'm reading arch/arm/kernel/smp.c correctly, loops_per_jiffy is scaled
when the frequency changes.

But arch/arm/lib/delay-loop.S starts by loading the current value of
loops_per_jiffy, computes the number of times to loop, and then loops.
If the frequency increases when the core is in __loop_delay, the
delay will be much shorter than requested.