[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240828181446.652474-1-seanjc@google.com>
Date: Wed, 28 Aug 2024 11:14:44 -0700
From: Sean Christopherson <seanjc@...gle.com>
To: Paolo Bonzini <pbonzini@...hat.com>, Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>
Cc: kvm@...r.kernel.org, linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org, Ilias Stamatis <ilstam@...zon.com>,
Marc Zyngier <maz@...nel.org>, Oliver Upton <oliver.upton@...ux.dev>,
Anup Patel <anup@...infault.org>, Sean Christopherson <seanjc@...gle.com>, Paul Durrant <paul@....org>
Subject: [PATCH v2 0/2] KVM: Coalesced IO cleanup and test
Add a regression test for the bug fixed by commit 92f6d4130497 ("KVM:
Fix coalesced_mmio_has_room() to avoid premature userspace exit"), and
then do additional clean up on the offending KVM code. I wrote the test
mainly so that I was confident I actually understood Ilias' fix.
This applies on the aforementioned commit, which is sitting in
kvm-x86/generic.
Fully tested on x86 and arm64, compile tested on RISC-V.
Ilias, I deliberately didn't include your Reviewed-by for the selftest, just
in case I botched something during the (minor, in theory) rework.
v2:
- Collect a review. [Ilias]
- Fix a typo in patch 2's changelog. [Ilias]
- Rework the selftest to containerize the coalesced I/O ring and its state,
to hopefully make it easier to extend the test to validate using a ring
other than KVM's built-in default. [Ilias]
Sean Christopherson (2):
KVM: selftests: Add a test for coalesced MMIO (and PIO on x86)
KVM: Clean up coalesced MMIO ring full check
tools/testing/selftests/kvm/Makefile | 3 +
.../testing/selftests/kvm/coalesced_io_test.c | 236 ++++++++++++++++++
.../testing/selftests/kvm/include/kvm_util.h | 26 ++
virt/kvm/coalesced_mmio.c | 29 +--
4 files changed, 273 insertions(+), 21 deletions(-)
create mode 100644 tools/testing/selftests/kvm/coalesced_io_test.c
base-commit: 728d17c2cb8cc5f9ac899173d0e9a67fb8887622
--
2.46.0.295.g3b9ea8a38a-goog
Powered by blists - more mailing lists