diff mbox series

[kvm-unit-tests,1/1] x86: vmexit: Allow IPI test to be accelerated by SVM AVIC

Message ID 20240522215755.197363-1-alejandro.j.jimenez@oracle.com (mailing list archive)
State New, archived
Headers show
Series [kvm-unit-tests,1/1] x86: vmexit: Allow IPI test to be accelerated by SVM AVIC | expand

Commit Message

Alejandro Jimenez May 22, 2024, 9:57 p.m. UTC
The vmexit_ipi test can be used as a rough benchmark for IPI performance
since commit 8a8c1fc3b1f8 ("vmexit: measure IPI and EOI cost") added
reporting of the average number of cycles taken for IPI delivery. Avoid
exposing a PIT to the guest so that SVM AVIC is not inhibited and IPI
acceleration can be tested when available and enabled by the host.

Signed-off-by: Alejandro Jimenez <alejandro.j.jimenez@oracle.com>
---
 x86/unittests.cfg | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)


base-commit: 00af1c849ced4e515f8659658d18652df2eb08fa

Comments

Sean Christopherson June 5, 2024, 11:20 p.m. UTC | #1
On Wed, 22 May 2024 21:57:55 +0000, Alejandro Jimenez wrote:
> The vmexit_ipi test can be used as a rough benchmark for IPI performance
> since commit 8a8c1fc3b1f8 ("vmexit: measure IPI and EOI cost") added
> reporting of the average number of cycles taken for IPI delivery. Avoid
> exposing a PIT to the guest so that SVM AVIC is not inhibited and IPI
> acceleration can be tested when available and enabled by the host.
> 
> 
> [...]

Applied to kvm-x86 next, thanks!

[1/1] x86: vmexit: Allow IPI test to be accelerated by SVM AVIC
      https://github.com/kvm-x86/kvm-unit-tests/commit/354b6957994f

--
https://github.com/kvm-x86/kvm-unit-tests/tree/next
diff mbox series

Patch

diff --git a/x86/unittests.cfg b/x86/unittests.cfg
index 867a8ea2..70cdda72 100644
--- a/x86/unittests.cfg
+++ b/x86/unittests.cfg
@@ -81,10 +81,13 @@  file = vmexit.flat
 extra_params = -append 'inl_from_pmtimer'
 groups = vmexit
 
+# To allow IPIs to be accelerated by SVM AVIC when the feature is available and
+# enabled, do not create a Programmable Interval Timer (PIT, a.k.a 8254), since
+# such device will disable/inhibit AVIC if exposed to the guest.
 [vmexit_ipi]
 file = vmexit.flat
 smp = 2
-extra_params = -append 'ipi'
+extra_params = -machine pit=off -append 'ipi'
 groups = vmexit
 
 [vmexit_ipi_halt]