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 07:42:08 -0500

On Thu, Jan 09, 2020 at 12:38:07PM +0000, Roman Kagan wrote:
> 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.

Well device RAM can be DMA'd into.

But vhost is a host side of virtio as opposed to a random device, we
know what it's doing, so skipping specific areas that we know are of no
interest to virtio devices for performance/internal implementation
reasons is OK.



> 
> > Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> > ---
> >  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]