From: Sean Christopherson <seanjc@google.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Yosry Ahmed <yosry@kernel.org>,
"Kernel Mailing List, Linux" <linux-kernel@vger.kernel.org>,
kvm <kvm@vger.kernel.org>, Jon Kohler <jon@nutanix.com>,
Marcelo Tosatti <mtosatti@redhat.com>
Subject: Re: [PATCH 17/22] KVM: x86/mmu: pull struct kvm_pagewalk out of struct kvm_mmu
Date: Thu, 21 May 2026 12:50:19 -0700 [thread overview]
Message-ID: <ag9h-77TTo7zEMG-@google.com> (raw)
In-Reply-To: <ag9fbbWzOO0r777I@google.com>
On Thu, May 21, 2026, Sean Christopherson wrote:
> On Tue, May 19, 2026, Paolo Bonzini wrote:
> > Il mer 13 mag 2026, 23:36 Yosry Ahmed <yosry@kernel.org> ha scritto:
> > guest_mmu is not L2 MMU if L1 does not use two-dimensional paging, so
> > l1_mmu and l2_mmu does not cut it entirely. And root_mmu can be either
> > GVA->HPA or GPA->HPA, therefore applying the idea above (e.g., gpa_mmu
> > and ngpa_mmu) would not work well.
> >
> > I suppose guest_mmu could be ngpa_mmu or shadow_tdp_mmu, but another
> > possibility/refactoring would be to adjust the code and call the two
> > MMUs direct_mmu and shadow_mmu. I haven't looked into what this means
> > for the code but it would definitely make for the clearest naming.
>
> I'm not a fan of "direct". Even if we deal with the CR0.PG=0 case, there's still
> the direct shadow pages wrinkle.
>
> I do like the idea of reworking the code so that there's an MMU for non-nested TDP
> and a shadow MMU for everything else. Given that the only thing standing in our
> way of having tdp_mmu and shadow_mmu is the existence of TDP support in the shadow
> MMU, what if we finally drop that? Then we can have tdp_mmu, which is literally
> the TDP MMU, and shadow_mmu.
And then I remembered the TDP MMU is 64-bit only. But, I saw you posted 32-bit
nested tests for KUT. Maybe this could be the motivation to invest more in that
test coverage, and be the juicy carrot that we need to finally kill off 32-bit
KVM x86?
next prev parent reply other threads:[~2026-05-21 19:50 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-11 15:06 [RFC PATCH 00/22] KVM: apply chainsaw to struct kvm_mmu Paolo Bonzini
2026-05-11 15:06 ` [PATCH 01/22] KVM: x86: remove nested_mmu from mmu_is_nested() Paolo Bonzini
2026-05-11 15:06 ` [PATCH 02/22] KVM: x86: move pdptrs out of the MMU Paolo Bonzini
2026-05-12 16:31 ` Paolo Bonzini
2026-05-11 15:06 ` [PATCH 03/22] KVM: x86: check that kvm_handle_invpcid is only invoked with shadow paging Paolo Bonzini
2026-05-11 15:06 ` [PATCH 04/22] KVM: x86/hyperv: remove unnecessary mmu_is_nested() check Paolo Bonzini
2026-05-11 15:06 ` [PATCH 05/22] KVM: x86/mmu: introduce struct kvm_pagewalk Paolo Bonzini
2026-05-11 15:06 ` [PATCH 06/22] KVM: x86/mmu: move get_guest_pgd to " Paolo Bonzini
2026-05-11 15:06 ` [PATCH 07/22] KVM: x86/mmu: move gva_to_gpa " Paolo Bonzini
2026-05-11 15:06 ` [PATCH 08/22] KVM: x86/mmu: move get_pdptr " Paolo Bonzini
2026-05-11 15:06 ` [PATCH 09/22] KVM: x86/mmu: move inject_page_fault " Paolo Bonzini
2026-05-11 15:06 ` [PATCH 10/22] KVM: x86/mmu: move CPU-related fields " Paolo Bonzini
2026-05-11 15:06 ` [PATCH 11/22] KVM: x86/mmu: change CPU-role accessor fields to take " Paolo Bonzini
2026-05-11 15:06 ` [PATCH 12/22] KVM: x86/mmu: move remaining permission fields to " Paolo Bonzini
2026-05-11 15:06 ` [PATCH 13/22] KVM: x86/mmu: pass struct kvm_pagewalk to kvm_mmu_invalidate_addr Paolo Bonzini
2026-05-11 15:06 ` [PATCH 14/22] KVM: x86/mmu: change walk_mmu to struct kvm_pagewalk Paolo Bonzini
2026-05-11 15:06 ` [PATCH 15/22] KVM: x86/mmu: change nested_mmu.w to nested_cpu_walk Paolo Bonzini
2026-05-11 15:06 ` [PATCH 16/22] KVM: x86/mmu: make cpu_walk a value Paolo Bonzini
2026-05-11 15:06 ` [PATCH 17/22] KVM: x86/mmu: pull struct kvm_pagewalk out of struct kvm_mmu Paolo Bonzini
2026-05-13 21:36 ` Yosry Ahmed
2026-05-18 23:10 ` Kishen Maloor
2026-05-19 0:59 ` Sean Christopherson
2026-05-19 10:27 ` Paolo Bonzini
2026-05-19 10:25 ` Paolo Bonzini
2026-05-21 19:38 ` Yosry Ahmed
2026-05-21 19:39 ` Sean Christopherson
2026-05-21 19:50 ` Sean Christopherson [this message]
2026-05-11 15:06 ` [PATCH 18/22] KVM: x86/mmu: cleanup functions that initialize shadow MMU Paolo Bonzini
2026-05-11 15:06 ` [PATCH 19/22] KVM: x86/mmu: pull page format to a new struct Paolo Bonzini
2026-05-11 15:06 ` [PATCH 20/22] KVM: x86/mmu: merge struct rsvd_bits_validate into struct kvm_page_format Paolo Bonzini
2026-05-11 15:06 ` [PATCH 21/22] KVM: x86/mmu: parameterize update_permission_bitmask() Paolo Bonzini
2026-05-11 15:06 ` [PATCH 22/22] KVM: x86/mmu: use kvm_page_format to test SPTEs Paolo Bonzini
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=ag9h-77TTo7zEMG-@google.com \
--to=seanjc@google.com \
--cc=jon@nutanix.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=pbonzini@redhat.com \
--cc=yosry@kernel.org \
/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