Re: [PATCH 2/2] x86/asm/delay: Introduce TPAUSE delay
From: Andi Kleen
Date: Wed Feb 26 2020 - 16:10:43 EST
On Wed, Feb 26, 2020 at 11:10:58AM -0800, Kyung Min Park wrote:
> TPAUSE instructs the processor to enter an implementation-dependent
> optimized state. The instruction execution wakes up when the time-stamp
> counter reaches or exceeds the implicit EDX:EAX 64-bit input value.
> The instruction execution also wakes up due to the expiration of
> the operating system time-limit or by an external interrupt
This is actually a behavior change. Today's udelay() will continue
after processing the interrupt. Your patches don't
I don't think it's a problem though. The interrupt will cause
a long enough delay that exceed any reasonable udelay() requirements.
There would be a difference if someone did really long udelay()s, much
longer than typical interrupts, in this case you might end up
with a truncated udelay, but such long udelays are not something that we
would encourage.
I don't think you need to change anything in the code, but should
probably document this behavior.
-Andi