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:FWIW VTD can do this atomically.
I'm not aware of any hardware that can do something like thisThis sounds more flexible e.g driver may choose to implement static mappingFor example, commit might switch one set of tables for another,
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
without need to pause DMA.
completely atomically..
Any mapping change API has to be based around add/remove regionsRight, lots of cases are well served by only changing parts of
without any active DMA (ie active DMA is a guest error the guest can
be crashed if it does this)
Jason
mapping that aren't in active use. Memory hotplug is such a case.
That's not the same as a completely static mapping.