From: Sean Christopherson <seanjc@google.com>
To: Anish Moorthy <amoorthy@google.com>
Cc: kvm@vger.kernel.org, kvmarm@lists.linux.dev,
oliver.upton@linux.dev, pbonzini@redhat.com, maz@kernel.org,
robert.hoo.linux@gmail.com, jthoughton@google.com,
dmatlack@google.com, axelrasmussen@google.com,
peterx@redhat.com, nadav.amit@gmail.com,
isaku.yamahata@gmail.com, kconsul@linux.vnet.ibm.com
Subject: Re: [PATCH v6 00/14] Improve KVM + userfaultfd performance via KVM_MEMORY_FAULT_EXITs on stage-2 faults
Date: Wed, 7 Feb 2024 07:46:40 -0800 [thread overview]
Message-ID: <ZcOl4PTbobZTsuNW@google.com> (raw)
In-Reply-To: <20231109210325.3806151-1-amoorthy@google.com>
On Thu, Nov 09, 2023, Anish Moorthy wrote:
> Base Commit
> ~~~~~~~~~~~
> This series is based off of kvm/next (45b890f7689e) with v14 of the
> guest_memfd series applied, with some fixes on top [3].
Please use `--base`. I have gotten spoiled by git appending the object ID at the
bottom, and get annoyed every time I have to go spelunking for the base :-)
Also, in the future, when posting a series that has multiple dependencies, it is
*very* helpful to reviewers and maintainers to provide a full branch somewhere,
e.g. on github, gitlab, etc. That way someone that wants to actually test things
doesn't need to hunt down and splice together a bunch of different assets.
From Documentation/process/maintainer-kvm-x86.rst:
Git Base
~~~~~~~~
If you are using git version 2.9.0 or later (Googlers, this is all of you!),
use ``git format-patch`` with the ``--base`` flag to automatically include the
base tree information in the generated patches.
Note, ``--base=auto`` works as expected if and only if a branch's upstream is
set to the base topic branch, e.g. it will do the wrong thing if your upstream
is set to your personal repository for backup purposes. An alternative "auto"
solution is to derive the names of your development branches based on their
KVM x86 topic, and feed that into ``--base``. E.g. ``x86/pmu/my_branch_name``,
and then write a small wrapper to extract ``pmu`` from the current branch name
to yield ``--base=x/pmu``, where ``x`` is whatever name your repository uses to
track the KVM x86 remote.
> Anish Moorthy (14):
> KVM: Documentation: Clarify meaning of hva_to_pfn()'s 'atomic'
> parameter
> KVM: Documentation: Add docstrings for __kvm_read/write_guest_page()
> KVM: Simplify error handling in __gfn_to_pfn_memslot()
> KVM: Define and communicate KVM_EXIT_MEMORY_FAULT RWX flags to
> userspace
> KVM: Try using fast GUP to resolve read faults
> KVM: Add memslot flag to let userspace force an exit on missing hva
> mappings
> KVM: x86: Enable KVM_CAP_EXIT_ON_MISSING and annotate EFAULTs from
> stage-2 fault handler
> KVM: arm64: Enable KVM_CAP_MEMORY_FAULT_INFO
> KVM: arm64: Enable KVM_CAP_EXIT_ON_MISSING and annotate an EFAULT from
> stage-2 fault-handler
> KVM: selftests: Report per-vcpu demand paging rate from demand paging
> test
> KVM: selftests: Allow many vCPUs and reader threads per UFFD in demand
> paging test
> KVM: selftests: Use EPOLL in userfaultfd_util reader threads and
> signal errors via TEST_ASSERT
> KVM: selftests: Add memslot_flags parameter to memstress_create_vm()
> KVM: selftests: Handle memory fault exits in demand_paging_test
>
> Documentation/virt/kvm/api.rst | 33 +-
> arch/arm64/kvm/Kconfig | 1 +
> arch/arm64/kvm/arm.c | 1 +
> arch/arm64/kvm/mmu.c | 7 +-
> arch/powerpc/kvm/book3s_64_mmu_hv.c | 2 +-
> arch/powerpc/kvm/book3s_64_mmu_radix.c | 2 +-
> arch/x86/kvm/Kconfig | 1 +
> arch/x86/kvm/mmu/mmu.c | 8 +-
> include/linux/kvm_host.h | 21 +-
> include/uapi/linux/kvm.h | 5 +
> .../selftests/kvm/aarch64/page_fault_test.c | 4 +-
> .../selftests/kvm/access_tracking_perf_test.c | 2 +-
> .../selftests/kvm/demand_paging_test.c | 295 ++++++++++++++----
> .../selftests/kvm/dirty_log_perf_test.c | 2 +-
> .../testing/selftests/kvm/include/memstress.h | 2 +-
> .../selftests/kvm/include/userfaultfd_util.h | 17 +-
> tools/testing/selftests/kvm/lib/memstress.c | 4 +-
> .../selftests/kvm/lib/userfaultfd_util.c | 159 ++++++----
> .../kvm/memslot_modification_stress_test.c | 2 +-
> .../x86_64/dirty_log_page_splitting_test.c | 2 +-
> virt/kvm/Kconfig | 3 +
> virt/kvm/kvm_main.c | 46 ++-
> 22 files changed, 444 insertions(+), 175 deletions(-)
A few nits throughout, but this is looking good for 6.9.
Oliver / Marc,
Any objection to taking this through kvm-x86? (when you feel it's ready, obviously)
My plan is to put it in a dedicated topic branch, with a massaged cover letter as
the tag used for the pull request so that we can capture the motivation/benefits.
next prev parent reply other threads:[~2024-02-07 15:46 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-09 21:03 [PATCH v6 00/14] Improve KVM + userfaultfd performance via KVM_MEMORY_FAULT_EXITs on stage-2 faults Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 01/14] KVM: Documentation: Clarify meaning of hva_to_pfn()'s 'atomic' parameter Anish Moorthy
2024-02-07 15:26 ` Sean Christopherson
2024-02-07 18:44 ` Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 02/14] KVM: Documentation: Add docstrings for __kvm_read/write_guest_page() Anish Moorthy
2024-02-07 15:30 ` Sean Christopherson
2023-11-09 21:03 ` [PATCH v6 03/14] KVM: Simplify error handling in __gfn_to_pfn_memslot() Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 04/14] KVM: Define and communicate KVM_EXIT_MEMORY_FAULT RWX flags to userspace Anish Moorthy
2024-02-07 15:30 ` Sean Christopherson
2024-02-07 18:57 ` Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 05/14] KVM: Try using fast GUP to resolve read faults Anish Moorthy
2024-02-05 21:55 ` Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 06/14] KVM: Add memslot flag to let userspace force an exit on missing hva mappings Anish Moorthy
2024-01-31 0:25 ` James Houghton
2024-01-31 21:59 ` Anish Moorthy
2024-02-01 0:26 ` James Houghton
2024-02-01 1:19 ` Oliver Upton
2024-02-01 16:28 ` Sean Christopherson
2024-02-01 19:24 ` Anish Moorthy
2024-02-02 1:03 ` Oliver Upton
2024-02-02 1:01 ` Oliver Upton
2024-02-01 16:09 ` Sean Christopherson
2024-02-01 19:53 ` Anish Moorthy
2024-02-07 15:35 ` Sean Christopherson
2023-11-09 21:03 ` [PATCH v6 07/14] KVM: x86: Enable KVM_CAP_EXIT_ON_MISSING and annotate EFAULTs from stage-2 fault handler Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 08/14] KVM: arm64: Enable KVM_CAP_MEMORY_FAULT_INFO Anish Moorthy
2023-11-09 21:07 ` Anish Moorthy
2024-02-07 15:39 ` Sean Christopherson
2024-02-07 16:41 ` Oliver Upton
2024-02-07 21:21 ` Anish Moorthy
2024-02-07 21:41 ` Sean Christopherson
2024-02-07 22:07 ` Oliver Upton
2024-02-09 1:13 ` Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 09/14] KVM: arm64: Enable KVM_CAP_EXIT_ON_MISSING and annotate an EFAULT from stage-2 fault-handler Anish Moorthy
2024-01-30 23:58 ` James Houghton
2024-01-31 22:38 ` Anish Moorthy
2024-02-09 1:21 ` Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 10/14] KVM: selftests: Report per-vcpu demand paging rate from demand paging test Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 11/14] KVM: selftests: Allow many vCPUs and reader threads per UFFD in " Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 12/14] KVM: selftests: Use EPOLL in userfaultfd_util reader threads and signal errors via TEST_ASSERT Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 13/14] KVM: selftests: Add memslot_flags parameter to memstress_create_vm() Anish Moorthy
2023-11-09 21:03 ` [PATCH v6 14/14] KVM: selftests: Handle memory fault exits in demand_paging_test Anish Moorthy
2024-02-07 15:46 ` Sean Christopherson [this message]
2024-02-09 16:00 ` [PATCH v6 00/14] Improve KVM + userfaultfd performance via KVM_MEMORY_FAULT_EXITs on stage-2 faults Anish Moorthy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZcOl4PTbobZTsuNW@google.com \
--to=seanjc@google.com \
--cc=amoorthy@google.com \
--cc=axelrasmussen@google.com \
--cc=dmatlack@google.com \
--cc=isaku.yamahata@gmail.com \
--cc=jthoughton@google.com \
--cc=kconsul@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=maz@kernel.org \
--cc=nadav.amit@gmail.com \
--cc=oliver.upton@linux.dev \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=robert.hoo.linux@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).