Kernel KVM virtualization development
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Kishen Maloor <kishen.maloor@intel.com>
Cc: Yosry Ahmed <yosry@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	linux-kernel@vger.kernel.org,  kvm@vger.kernel.org,
	jon@nutanix.com, mtosatti@redhat.com
Subject: Re: [PATCH 17/22] KVM: x86/mmu: pull struct kvm_pagewalk out of struct kvm_mmu
Date: Mon, 18 May 2026 17:59:14 -0700	[thread overview]
Message-ID: <agu14rrLFYxgH6ls@google.com> (raw)
In-Reply-To: <b81cd916-a93f-4a8e-b534-2df59e61dd5f@intel.com>

On Mon, May 18, 2026, Kishen Maloor wrote:
> On 5/13/26 2:36 PM, Yosry Ahmed wrote:
> > > @@ -6767,11 +6748,11 @@ int kvm_mmu_create(struct kvm_vcpu *vcpu)
> > > 
> > >          vcpu->arch.mmu = &vcpu->arch.root_mmu;
> > > 
> > > -       ret = __kvm_mmu_create(vcpu, &vcpu->arch.guest_mmu);
> > > +       ret = __kvm_mmu_create(vcpu, &vcpu->arch.guest_mmu, &vcpu->arch.tdp_walk);
> > >          if (ret)
> > >                  return ret;
> > > 
> > > -       ret = __kvm_mmu_create(vcpu, &vcpu->arch.root_mmu);
> > > +       ret = __kvm_mmu_create(vcpu, &vcpu->arch.root_mmu, &vcpu->arch.cpu_walk);
> > >          if (ret)
> > >                  goto fail_allocate_root;
> > 
> > I admittedly did not take a close look at the series. Just wanted to
> > chime in about naming. I *love* that we are getting rid of nested_mmu
> > because I can never immediately tell the difference between guest_mmu
> > and nested_mmu, so thank you for that.
> > 
> > However, I can't immediately tell what vcpu->arch.cpu_walk is doing
> > either (compared to vcpu->arch.tdp_walk), so maybe the names can be
> > improved? If these walks are tied to these MMUs, maybe name them as
> > such (e.g. root_pg_walk and guest_pg_walk)?

They aren't tied to MMUs in that way though.  If L1 is using shadow paging for L2,
than the so called "root" MMU is used for both L1 and L2, albeit with a different
role (kvm_mmu_page_role.guest_mode will be different).

> > I also think root_mmu and guest_mmu could still use some improvement
> > but that's probably outside the scope of this series. These are
> > essentially L1 MMU and L2 MMU, right?

Almost, but not quite.  See above.

> > Maybe just mmu and nested_mmu could work? 

> > But I am not sure if we can reclaim the nested_mmu name, it's gonna screw
> > with anyone doing backports :/

Heh, could be fun.

> +1, and I wonder if it helps to name the walkers after what they walk, to
> shape one's conceptual model. E.g. cr3_walk (instead of cpu_walk) for the
> walker over CR3-rooted tables of the currently executing guest (L1's or L2's
> CR3), and nested_tdp_walk for the walker over L1's nested EPT/NPT when L0
> services L2. tdp_walk alone felt a bit vague — it read as "the TDP MMU's
> walker," whereas this specifically applies to the nested TDP path.

Or maybe legacy_walk instead of cr3_walk?  Purely because of nCR3 with NPT :-/

Good xxx_mmu names remain elusive...

  reply	other threads:[~2026-05-19  0:59 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 [this message]
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
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=agu14rrLFYxgH6ls@google.com \
    --to=seanjc@google.com \
    --cc=jon@nutanix.com \
    --cc=kishen.maloor@intel.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