Re: [PATCH] vfio/pci: Handle concurrent vma faults

From: Christoph Hellwig
Date: Thu Mar 11 2021 - 06:36:35 EST


On Wed, Mar 10, 2021 at 03:06:07PM -0500, Peter Xu wrote:
> On Wed, Mar 10, 2021 at 02:40:11PM -0400, Jason Gunthorpe wrote:
> > On Wed, Mar 10, 2021 at 11:34:06AM -0700, Alex Williamson wrote:
> >
> > > > I think after the address_space changes this should try to stick with
> > > > a normal io_rmap_pfn_range() done outside the fault handler.
> > >
> > > I assume you're suggesting calling io_remap_pfn_range() when device
> > > memory is enabled,
> >
> > Yes, I think I saw Peter thinking along these lines too
> >
> > Then fault just always causes SIGBUS if it gets called

I feel much more comfortable having the io_remap_pfn_range in place.

>
> Indeed that looks better than looping in the fault().
>
> But I don't know whether it'll be easy to move io_remap_pfn_range() to device
> memory enablement. If it's a two-step thing, we can fix the BUG_ON and vma
> duplication issue first, then the full rework can be done in the bigger series
> as what be chosen as the last approach.

What kind of problems do you envision? It seems pretty simple to do,
at least when combined with the unmap_mapping_range patch.