• Kyung Min Park's avatar
    x86/delay: Introduce TPAUSE delay · cec5f268
    Kyung Min Park authored
    
    
    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: default avatarFenghua Yu <fenghua.yu@intel.com>
    Signed-off-by: default avatarFenghua Yu <fenghua.yu@intel.com>
    Signed-off-by: default avatarKyung Min Park <kyung.min.park@intel.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix...
    cec5f268
delay.h 275 Bytes