[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210312121611.07a313e3@omen.home.shazbot.org>
Date: Fri, 12 Mar 2021 12:16:11 -0700
From: Alex Williamson <alex.williamson@...hat.com>
To: Jason Gunthorpe <jgg@...dia.com>
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
peterx@...hat.com, prime.zeng@...ilicon.com, cohuck@...hat.com
Subject: Re: [PATCH] vfio/pci: Handle concurrent vma faults
On Wed, 10 Mar 2021 14:40:11 -0400
Jason Gunthorpe <jgg@...dia.com> 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
Trying to use the address_space approach because otherwise we'd just be
adding back vma list tracking, it looks like we can't call
io_remap_pfn_range() while holding the address_space i_mmap_rwsem via
i_mmap_lock_write(), like done in unmap_mapping_range(). lockdep
identifies a circular lock order issue against fs_reclaim. Minimally we
also need vma_interval_tree_iter_{first,next} exported in order to use
vma_interval_tree_foreach(). Suggestions? Thanks,
Alex
Powered by blists - more mailing lists