Re: [PATCH 0/2] KVM: MMU: support VMAs that got remap_pfn_range-ed

From: Alex Williamson
Date: Wed Jul 06 2016 - 11:50:55 EST


On Wed, 6 Jul 2016 08:05:15 +0200
Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:

> On 06/07/2016 04:00, Xiao Guangrong wrote:
> >
> >
> > On 07/05/2016 08:18 PM, Paolo Bonzini wrote:
> >>
> >>
> >> On 05/07/2016 07:41, Neo Jia wrote:
> >>> On Thu, Jun 30, 2016 at 03:01:49PM +0200, Paolo Bonzini wrote:
> >>>> The vGPU folks would like to trap the first access to a BAR by setting
> >>>> vm_ops on the VMAs produced by mmap-ing a VFIO device. The fault
> >>>> handler
> >>>> then can use remap_pfn_range to place some non-reserved pages in the
> >>>> VMA.
> >>>>
> >>>> KVM lacks support for this kind of non-linear VM_PFNMAP mapping, and
> >>>> these
> >>>> patches should fix this.
> >>>
> >>> Hi Paolo,
> >>>
> >>> I have tested your patches with the mediated passthru patchset that
> >>> is being
> >>> reviewed in KVM and QEMU mailing list.
> >>>
> >>> The fault handler gets called successfully and the previously mapped
> >>> memory gets
> >>> unmmaped correctly via unmap_mapping_range.
> >>
> >> Great, then I'll include them in 4.8.
> >
> > Code is okay, but i still suspect if this implementation, fetch mmio
> > pages in fault handler, is needed. We'd better include these patches
> > after the design of vfio framework is decided.
>
> I think that this fixes a bug anyway, the previous handling of VM_PFNMAP
> is too simplistic.


Agreed, no reason to hold off on this, it's a valid interaction that
needs to be fixed regardless of how or if the vfio mediated driver
makes use of it. Thanks,

Alex