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