Thread (77 messages) 77 messages, 10 authors, 2020-02-05

Re: [PATCH 3/5] vDPA: introduce vDPA bus

From: Jason Wang <jasowang@redhat.com>
Date: 2020-01-22 06:18:28
Also in: kvm, lkml, netdev

On 2020/1/21 下午10:17, Michael S. Tsirkin wrote:
On Tue, Jan 21, 2020 at 02:05:04PM +0000, Jason Gunthorpe wrote:
quoted
On Tue, Jan 21, 2020 at 03:15:43AM -0500, Michael S. Tsirkin wrote:
quoted
quoted
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.
quoted
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.

For hotplug it should be fine with current Qemu since it belongs to 
different memory regions. So each dimm should have its own dedicated map 
entries in IOMMU.

But I'm not sure if the merging logic in current vhost memory listener 
may cause any trouble, we may need to disable it.

Thanks

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help