TWE Delay is an optional feature in ARMv8.6 Extentions. There is a performance benefit in waiting for a period of time for an event to arrive before taking the trap as it is common that event will arrive “quite soon” after executing the WFE instruction. This series adds support for TWED feature and implements TWE delay value dynamic adjustment. Thanks for Shameer's advice on this series. The function of this patch has been tested on TWED supported hardware and the performance of it is still on test, any advice will be welcomed. Jingyi Wang (2): KVM: arm64: Make use of TWED feature KVM: arm64: Use dynamic TWE Delay value Zengruan Ye (2): arm64: cpufeature: TWED support detection KVM: arm64: Add trace for TWED update arch/arm64/Kconfig | 10 +++++ arch/arm64/include/asm/cpucaps.h | 3 +- arch/arm64/include/asm/kvm_arm.h | 5 +++ arch/arm64/include/asm/kvm_emulate.h | 38 ++++++++++++++++++ arch/arm64/include/asm/kvm_host.h | 19 ++++++++- arch/arm64/include/asm/virt.h | 8 ++++ arch/arm64/kernel/cpufeature.c | 12 ++++++ arch/arm64/kvm/arm.c | 58 ++++++++++++++++++++++++++++ arch/arm64/kvm/handle_exit.c | 2 + arch/arm64/kvm/trace_arm.h | 21 ++++++++++ 10 files changed, 174 insertions(+), 2 deletions(-) -- 2.19.1