diff options
author | Babu Moger <babu.moger@amd.com> | 2018-03-16 21:37:26 +0100 |
---|---|---|
committer | Radim Krčmář <rkrcmar@redhat.com> | 2018-03-28 22:47:06 +0200 |
commit | 8566ac8b8e7cac5814fb744ff5159d1797a1a6bd (patch) | |
tree | ae30d61a9ff725180e1f290d683de6fa9aeb33cc /arch/x86/kvm/x86.h | |
parent | KVM: SVM: Add pause filter threshold (diff) | |
download | linux-8566ac8b8e7cac5814fb744ff5159d1797a1a6bd.tar.xz linux-8566ac8b8e7cac5814fb744ff5159d1797a1a6bd.zip |
KVM: SVM: Implement pause loop exit logic in SVM
Bring the PLE(pause loop exit) logic to AMD svm driver.
While testing, we found this helping in situations where numerous
pauses are generated. Without these patches we could see continuos
VMEXITS due to pause interceptions. Tested it on AMD EPYC server with
boot parameter idle=poll on a VM with 32 vcpus to simulate extensive
pause behaviour. Here are VMEXITS in 10 seconds interval.
Pauses 810199 504
Total 882184 325415
Signed-off-by: Babu Moger <babu.moger@amd.com>
[Prevented the window from dropping below the initial value. - Radim]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.h')
-rw-r--r-- | arch/x86/kvm/x86.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h index 0804722b809e..42350391b62f 100644 --- a/arch/x86/kvm/x86.h +++ b/arch/x86/kvm/x86.h @@ -11,6 +11,8 @@ #define KVM_DEFAULT_PLE_WINDOW_GROW 2 #define KVM_DEFAULT_PLE_WINDOW_SHRINK 0 #define KVM_VMX_DEFAULT_PLE_WINDOW_MAX UINT_MAX +#define KVM_SVM_DEFAULT_PLE_WINDOW_MAX USHRT_MAX +#define KVM_SVM_DEFAULT_PLE_WINDOW 3000 static inline unsigned int __grow_ple_window(unsigned int val, unsigned int base, unsigned int modifier, unsigned int max) |