Support haltpoll feature to improve performance
Ankur Arora (10):
asm-generic: add barrier smp_cond_load_relaxed_timeout()
cpuidle/poll_state: poll via smp_cond_load_relaxed_timeout()
cpuidle: rename ARCH_HAS_CPU_RELAX to ARCH_HAS_OPTIMIZED_POLL
arm64: barrier: add support for smp_cond_relaxed_timeout()
arm64: add support for polling in idle
cpuidle-haltpoll: condition on ARCH_CPUIDLE_HALTPOLL
arm64: idle: export arch_cpu_idle
arm64: support cpuidle-haltpoll
arm64/delay: add some constants to a separate header
arm64: support WFET in smp_cond_relaxed_timeout()
Joao Martins (4):
Kconfig: move ARCH_HAS_OPTIMIZED_POLL to arch/Kconfig
arm64: define TIF_POLLING_NRFLAG
cpuidle-haltpoll: define arch_haltpoll_want()
governors/haltpoll: drop kvm_para_available() check
Lifeng Zheng (1):
ACPI: processor_idle: Support polling state for LPI
lishusen (1):
cpuidle: edit cpuidle-haltpoll driver module parameter
arch/Kconfig | 3 +
arch/arm64/Kconfig | 7 ++
arch/arm64/configs/openeuler_defconfig | 3 +
arch/arm64/include/asm/barrier.h | 62 ++++++++++++-
arch/arm64/include/asm/cmpxchg.h | 26 ++++--
arch/arm64/include/asm/cpuidle_haltpoll.h | 20 +++++
arch/arm64/include/asm/delay-const.h | 15 ++++
arch/arm64/include/asm/thread_info.h | 2 +
arch/arm64/kernel/idle.c | 1 +
arch/x86/Kconfig | 5 +-
arch/x86/include/asm/cpuidle_haltpoll.h | 1 +
arch/x86/kernel/kvm.c | 13 +++
drivers/acpi/processor_idle.c | 43 +++++++--
drivers/cpuidle/Kconfig | 5 +-
drivers/cpuidle/Makefile | 2 +-
drivers/cpuidle/cpuidle-haltpoll.c | 105 +++++++++++++++++++---
drivers/cpuidle/governors/haltpoll.c | 6 +-
drivers/cpuidle/poll_state.c | 31 +++----
drivers/idle/Kconfig | 1 +
include/asm-generic/barrier.h | 42 +++++++++
include/linux/cpuidle.h | 2 +-
include/linux/cpuidle_haltpoll.h | 5 ++
22 files changed, 336 insertions(+), 64 deletions(-)
create mode 100644 arch/arm64/include/asm/cpuidle_haltpoll.h
create mode 100644 arch/arm64/include/asm/delay-const.h
--
2.33.0