Files
linux/arch/x86/include/asm
Kyung Min Park cec5f268cd x86/delay: Introduce TPAUSE delay
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
or exceptions such as a debug exception or a machine check exception.

TPAUSE offers a choice of two lower power states:
 1. Light-weight power/performance optimized state C0.1
 2. Improved power/performance optimized state C0.2

This way, it can save power with low wake-up latency in comparison to
spinloop based delay. The selection between the two is governed by the
input register.

TPAUSE is available on processors with X86_FEATURE_WAITPKG.

Co-developed-by: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Kyung Min Park <kyung.min.park@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Link: https://lkml.kernel.org/r/1587757076-30337-4-git-send-email-kyung.min.park@intel.com
2020-05-07 16:06:20 +02:00
..
2020-03-26 15:02:14 -04:00
2019-07-22 12:00:51 +02:00
2020-01-23 10:41:20 -08:00
2018-12-03 10:49:13 +01:00
2020-05-07 16:06:20 +02:00
2020-01-24 15:00:35 -06:00
2020-03-09 14:51:31 +00:00
2018-08-15 13:44:10 -07:00
2019-07-03 16:35:23 +02:00
2019-04-16 12:26:18 +02:00
2017-12-22 20:13:04 +01:00
2019-04-22 11:42:59 +02:00
2019-07-17 23:17:38 +02:00
2020-01-23 10:41:20 -08:00
2019-07-22 12:00:51 +02:00
2020-05-07 16:06:20 +02:00
2019-06-17 12:43:44 +02:00
2019-09-24 16:15:36 +02:00
2018-03-20 10:01:57 +01:00
2019-04-10 09:53:31 +02:00
2020-03-21 16:03:25 +01:00
2020-01-14 12:20:58 +01:00
2020-03-23 18:45:14 +01:00
2020-01-14 12:20:58 +01:00