[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHVum0eKdcsZ-6L0ypqL1CBW+2quyj_dPiqw83b-XMShoRkvig@mail.gmail.com>
Date: Thu, 26 Jan 2023 12:09:08 -0800
From: Vipin Sharma <vipinsh@...gle.com>
To: Ben Gardon <bgardon@...gle.com>
Cc: linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
Paolo Bonzini <pbonzini@...hat.com>,
Peter Xu <peterx@...hat.com>,
Sean Christopherson <seanjc@...gle.com>,
David Matlack <dmatlack@...gle.com>,
Ricardo Koller <ricarkol@...gle.com>
Subject: Re: [PATCH v4 0/2] selftests: KVM: Add a test for eager page splitting
On Wed, Jan 25, 2023 at 10:23 AM Ben Gardon <bgardon@...gle.com> 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
>
Powered by blists - more mailing lists