[PATCH v9 6/6] KVM: arm64: Expose new KVM cap for cacheable PFNMAP
Jason Gunthorpe
jgg at nvidia.com
Fri Jul 4 08:04:42 PDT 2025
On Fri, Jul 04, 2025 at 04:15:28PM +0200, David Hildenbrand wrote:
> On 04.07.25 15:44, Jason Gunthorpe wrote:
> > On Sat, Jun 21, 2025 at 04:21:11AM +0000, ankita at nvidia.com wrote:
> > > From: Ankit Agrawal <ankita at nvidia.com>
> > >
> > > Introduce a new KVM capability to expose to the userspace whether
> > > cacheable mapping of PFNMAP is supported.
> > >
> > > The ability to safely do the cacheable mapping of PFNMAP is contingent
> > > on S2FWB and ARM64_HAS_CACHE_DIC. S2FWB allows KVM to avoid flushing
> > > the D cache, ARM64_HAS_CACHE_DIC allows KVM to avoid flushing the icache
> > > and turns icache_inval_pou() into a NOP. The cap would be false if
> > > those requirements are missing and is checked by making use of
> > > kvm_arch_supports_cacheable_pfnmap.
> > >
> > > This capability would allow userspace to discover the support.
> > > It could for instance be used by userspace to prevent live-migration
> > > across FWB and non-FWB hosts.
> > >
> > > CC: Catalin Marinas <catalin.marinas at arm.com>
> > > CC: Jason Gunthorpe <jgg at nvidia.com>
> > > CC: Oliver Upton <oliver.upton at linux.dev>
> > > CC: David Hildenbrand <david at redhat.com>
> > > Suggested-by: Marc Zyngier <maz at kernel.org>
> > > Signed-off-by: Ankit Agrawal <ankita at nvidia.com>
> > > ---
> > > Documentation/virt/kvm/api.rst | 13 ++++++++++++-
> > > arch/arm64/kvm/arm.c | 7 +++++++
> > > include/uapi/linux/kvm.h | 1 +
> > > 3 files changed, 20 insertions(+), 1 deletion(-)
> >
> > I don't know if any VMM will ever use this, but it looks OK
>
> So, should we defer it to the point where we actually have a use case?
>
> I mean, patch #4 could be simplified by modifying arm64 code in patch #5
> only. No need for a common kvm_arch function etc.
IDK, I think Marc and Oliver are right it makes sense to have it, I
just don't really see how a VMM would make use of it..
Jason
More information about the linux-arm-kernel
mailing list