lkml.org 
[lkml]   [2020]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v3 0/3] x86/delay: Introduce TPAUSE instruction
Date
Intel processors that support the WAITPKG feature implement
the TPAUSE instruction that suspends execution in a lower power
state until the TSC (Time Stamp Counter) exceeds a certain value.

Update the udelay() function to use TPAUSE on systems where it
is available. Note that we hard code the deeper (C0.2) sleep
state because exit latency is small compared to the "microseconds"
that usleep() will delay.

ChangeLog:
- Change from v2 to v3:
1 Add Thomas' cleanup patch to this patchset.
2. Implement use_tpause_delay() to use TPAUSE.
3. Call use_tpause_delay() during x86_late_time_init().
4. Use APIs lower_32_bits(), upper_32_bits() as suggested by Joe Perch.
5. Change __tpause() argument integer type from unsigned int to u32.

- Change from v1 to v2:
1. Change function/variable names as suggested by Thomas i.e.
a. Change to delay_halt_fn/delay_halt_mwaitx/delay_halt_tpause from
wait_func/mwaitx/tpause.
b. Change variable name loops to cycles.
c. Change back to the original name delay_fn from delay_platform.
2. Organize comments to use full width.
3. Add __ro_after_init for the function pointer delay_halt_fn.
4. Change patch titles as suggested by Thomas.

Kyung Min Park (2):
x86/delay: Refactor delay_mwaitx() for TPAUSE support
x86/delay: Introduce TPAUSE delay

Thomas Gleixner (1):
x86/delay: Preparatory code cleanup

arch/x86/include/asm/delay.h | 3 +-
arch/x86/include/asm/mwait.h | 18 ++++++-
arch/x86/kernel/time.c | 3 ++
arch/x86/lib/delay.c | 114 +++++++++++++++++++++++++++++--------------
4 files changed, 100 insertions(+), 38 deletions(-)

--
2.7.4

\
 
 \ /
  Last update: 2020-04-11 01:30    [W:0.084 / U:0.808 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site