On Tue, Jan 21, 2020 at 02:05:04PM +0000, Jason Gunthorpe wrote: > On Tue, Jan 21, 2020 at 03:15:43AM -0500, Michael S. Tsirkin wrote: > > > This sounds more flexible e.g driver may choose to implement static mapping > > > one through commit. But a question here, it looks to me this still requires > > > the DMA to be synced with at least commit here. Otherwise device may get DMA > > > fault? Or device is expected to be paused DMA during begin? > > > > > > Thanks > > > > For example, commit might switch one set of tables for another, > > without need to pause DMA. > > I'm not aware of any hardware that can do something like this > completely atomically.. FWIW VTD can do this atomically. > Any mapping change API has to be based around add/remove regions > without any active DMA (ie active DMA is a guest error the guest can > be crashed if it does this) > > Jason Right, lots of cases are well served by only changing parts of mapping that aren't in active use. Memory hotplug is such a case. That's not the same as a completely static mapping. -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization