qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] vhost: Don't pass ram device sections


From: Michael S. Tsirkin
Subject: Re: [PATCH 1/2] vhost: Don't pass ram device sections
Date: Thu, 9 Jan 2020 06:56:15 -0500

On Thu, Jan 09, 2020 at 06:45:24AM -0500, Michael S. Tsirkin wrote:
> On Wed, Jan 08, 2020 at 01:53:52PM +0000, Dr. David Alan Gilbert (git) wrote:
> > From: "Dr. David Alan Gilbert" <address@hidden>
> > 
> > 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.
> > 
> > Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> 
> Reviewed-by: Michael S. Tsirkin <address@hidden>
> 
> So I think this is good by itself.

Hmm second thoughts.
vhost kernel can handle any pointer.
And what we care about for vhost-user is that
memory_region_get_fd
gives us an fd.

So why does it matter that there's something special
about it? I worry that this will break things like
pass through of virtio-pmem for nested virt.


> > ---
> >  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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]