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.