All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Xiaoyao Li <xiaoyao.li@intel.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	 Fuad Tabba <tabba@google.com>,
	Ackerley Tng <ackerleytng@google.com>
Subject: Re: [PATCH v5 1/7] KVM: guest_memfd: Plumb the number of pages and max order into .invalidate()
Date: Tue, 21 Jul 2026 09:42:33 -0700	[thread overview]
Message-ID: <al-heRLiosHP1q41@google.com> (raw)
In-Reply-To: <56ff8019-f30c-4fb9-a3b9-b81dcb98eb96@intel.com>

On Thu, Jul 16, 2026, Xiaoyao Li wrote:
> On 7/15/2026 7:10 AM, Sean Christopherson wrote:
> > Plumb the number of pages to "invalidate", i.e. reclaim, along with the max
> > order with which the pages can be mapped.  This will allow x86 to combine
> > its vendor-specific implementations for conversion and reclaim, a.k.a.
> > preparation and invalidation, into a single hook.
> > 
> > No functional change intended.
> > 
> > Signed-off-by: Sean Christopherson <seanjc@google.com>
> > ---
> >   arch/x86/kvm/x86.c       | 4 ++--
> >   include/linux/kvm_host.h | 2 +-
> >   virt/kvm/guest_memfd.c   | 7 ++-----
> >   3 files changed, 5 insertions(+), 8 deletions(-)
> > 
> > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> > index 1f5dc685f049..a2cbf6fae118 100644
> > --- a/arch/x86/kvm/x86.c
> > +++ b/arch/x86/kvm/x86.c
> > @@ -10627,9 +10627,9 @@ int kvm_arch_gmem_prepare(struct kvm *kvm, gfn_t gfn, kvm_pfn_t pfn, int max_ord
> >   #endif
> >   #ifdef CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE
> > -void kvm_arch_gmem_invalidate(kvm_pfn_t start, kvm_pfn_t end)
> > +void kvm_arch_gmem_invalidate(kvm_pfn_t pfn, kvm_pfn_t nr_pages, int max_order)
> 
> why use 'kvm_pfn_t' as the type for nr_pages instead of 'unsigned long'?
> 
> (I guess just because you kept the original type for @end)

Because the number of pages, i.e. number of PFNs, need to be in the same "domain"
as the staring PFN (and KVM's MMU needs to treat PFNs as u64s).

  reply	other threads:[~2026-07-21 16:42 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-14 23:10 [PATCH v5 0/7] KVM: guest_memfd: reclaim()/convert() cleanups Sean Christopherson
2026-07-14 23:10 ` [PATCH v5 1/7] KVM: guest_memfd: Plumb the number of pages and max order into .invalidate() Sean Christopherson
2026-07-14 23:52   ` Ackerley Tng
2026-07-15  8:15   ` Fuad Tabba
2026-07-16  7:09   ` Xiaoyao Li
2026-07-21 16:42     ` Sean Christopherson [this message]
2026-07-14 23:10 ` [PATCH v5 2/7] KVM: guest_memfd: Rename invalidate() arch hook to reclaim() and isolate it Sean Christopherson
2026-07-14 23:53   ` Ackerley Tng
2026-07-15  8:19   ` Fuad Tabba
2026-07-16 10:04   ` Xiaoyao Li
2026-07-14 23:10 ` [PATCH v5 3/7] KVM: guest_memfd: Drop the redundant printk on arch gmem_prepare() failure Sean Christopherson
2026-07-15  8:21   ` Fuad Tabba
2026-07-16 10:05   ` Xiaoyao Li
2026-07-14 23:10 ` [PATCH v5 4/7] KVM: guest_memfd: Fold __kvm_gmem_prepare_folio() into its sole caller Sean Christopherson
2026-07-14 23:39   ` sashiko-bot
2026-07-14 23:55   ` Ackerley Tng
2026-07-21 16:39     ` Sean Christopherson
2026-07-22  1:30       ` Sean Christopherson
2026-07-14 23:10 ` [PATCH v5 5/7] KVM: guest_memfd: Explicitly pass number of pages to kvm_arch_gmem_prepare() Sean Christopherson
2026-07-14 23:10 ` [PATCH v5 6/7] KVM: x86: Combine .gmem_prepare()+.gmem_invalidate() into .gmem_convert() Sean Christopherson
2026-07-15  0:06   ` Ackerley Tng
2026-07-15  0:10     ` Sean Christopherson
2026-07-15  9:50       ` Fuad Tabba
2026-07-15  9:48   ` Fuad Tabba
2026-07-17  3:42   ` Ackerley Tng
2026-07-21 16:10     ` Sean Christopherson
2026-07-21 18:13       ` Ackerley Tng
2026-07-21 18:55         ` Sean Christopherson
2026-07-14 23:10 ` [PATCH v5 7/7] KVM: guest_memfd: Rework PREPARE config and hook into a more generic CONVERT Sean Christopherson
2026-07-15  0:09   ` Ackerley Tng
2026-07-15  9:53   ` Fuad Tabba
2026-07-16  9:35   ` Xiaoyao Li
2026-07-16 21:42     ` Ackerley Tng
2026-07-17  3:56       ` Xiaoyao Li
2026-07-21 16:24         ` Sean Christopherson
2026-07-22  3:25           ` Xiaoyao Li

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=al-heRLiosHP1q41@google.com \
    --to=seanjc@google.com \
    --cc=ackerleytng@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=tabba@google.com \
    --cc=xiaoyao.li@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.