KVM: SVM: Implement pause loop exit logic in SVM
authorBabu Moger <babu.moger@amd.com>
Fri, 16 Mar 2018 20:37:26 +0000 (16:37 -0400)
committerRadim Krčmář <rkrcmar@redhat.com>
Wed, 28 Mar 2018 20:47:06 +0000 (22:47 +0200)
commit8566ac8b8e7cac5814fb744ff5159d1797a1a6bd
treeae30d61a9ff725180e1f290d683de6fa9aeb33cc
parent1d8fb44a728b7a34604307976a7d2a003bc84f16
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>
arch/x86/kvm/svm.c
arch/x86/kvm/x86.h