On Wed, Jan 08, 2020 at 01:53:52PM +0000, Dr. David Alan Gilbert (git) wrote: > Don't pass RAM blocks that are marked as ram devices to vhost. > There's normally something special about them and they're not > normally just shared memory.
Does this something special about them, whatever it is, make them automatically ineligible for DMA? Why should vhost ignore them? /me goes reading what ram_device memory regions are... Roman. > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > --- > hw/virtio/vhost.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c > index 4da0d5a6c5..c81f0be71b 100644 > --- a/hw/virtio/vhost.c > +++ b/hw/virtio/vhost.c > @@ -402,6 +402,7 @@ static bool vhost_section(struct vhost_dev *dev, > MemoryRegionSection *section) > bool log_dirty = memory_region_get_dirty_log_mask(section->mr) & > ~(1 << DIRTY_MEMORY_MIGRATION); > result = memory_region_is_ram(section->mr) && > + !memory_region_is_ram_device(section->mr) && > !memory_region_is_rom(section->mr); > > /* Vhost doesn't handle any block which is doing dirty-tracking other > -- > 2.24.1 > >