Re: [PATCH v4 0/2] selftests: KVM: Add a test for eager page splitting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 25, 2023 at 10:23 AM Ben Gardon <bgardon@xxxxxxxxxx> wrote:
>
> David Matlack recently added a feature known as eager page splitting
> to x86 KVM. This feature improves vCPU performance during dirty
> logging because the splitting operation is moved out of the page
> fault path, avoiding EPT/NPT violations or allowing the vCPU threads
> to resolve the violation in the fast path.
>
> While this feature is a great performance improvement, it does not
> have adequate testing in KVM selftests. Add a test to provide coverage
> of eager page splitting.
>
> Patch 1 is a quick refactor to be able to re-use some code from
> dirty_log_perf_test.
> Patch 2 adds the actual test.
>
> V1->V2:
Links of previous versions of patches are helpful and avoid searching
if one wants to read previous discussions.

>         Run test in multiple modes, as suggested by David and Ricardo
>         Cleanups from shameful copy-pasta, as suggested by David
> V2->V3:
>         Removed copyright notice from the top of
>         dirty_log_page_splitting.c
>         Adopted ASSERT_EQ for test assertions
>         Now skipping testing with MANUAL_PROTECT if unsupported
> V3->V4:
>         Added the copyright notices back. Thanks Vipin for the right
>         thing to do there.
>
> Ben Gardon (2):
>   selftests: KVM: Move dirty logging functions to memstress.(c|h)
>   selftests: KVM: Add dirty logging page splitting test
>
>  tools/testing/selftests/kvm/Makefile          |   1 +
>  .../selftests/kvm/dirty_log_perf_test.c       |  84 +-----
>  .../selftests/kvm/include/kvm_util_base.h     |   1 +
>  .../testing/selftests/kvm/include/memstress.h |   8 +
>  tools/testing/selftests/kvm/lib/kvm_util.c    |   5 +
>  tools/testing/selftests/kvm/lib/memstress.c   |  72 +++++
>  .../x86_64/dirty_log_page_splitting_test.c    | 257 ++++++++++++++++++
>  7 files changed, 351 insertions(+), 77 deletions(-)
>  create mode 100644 tools/testing/selftests/kvm/x86_64/dirty_log_page_splitting_test.c
>
> --
> 2.39.1.456.gfc5497dd1b-goog
>



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux