Re: [Qemu-devel] [PATCH] ivshmem: use PIO for BAR0(Doorbell) instead of MMIO to reduce notification time

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

 



On Thu, 2011-11-17 at 16:36 +0200, Avi Kivity wrote:
> On 11/14/2011 05:56 AM, zanghongyong@xxxxxxxxxx wrote:
> > From: Hongyong Zang <zanghongyong@xxxxxxxxxx>
> >
> > Ivshmem(nahanni) is a mechanism for sharing host memory with VMs running on the same host. Currently, guest notifies qemu by reading or writing ivshmem device's PCI MMIO BAR0(Doorbell).
> >
> > This patch, changes this PCI MMIO BAR0(Doorbell) to PIO. And we find guest accesses PIO BAR 30% faster than MMIO BAR.
> >  
> >      CharDriverState **eventfd_chr;
> >      CharDriverState *server_chr;
> > -    MemoryRegion ivshmem_mmio;
> > +    MemoryRegion ivshmem_pio;
> >  
> > -    pcibus_t mmio_addr;
> > +    pcibus_t pio_addr;
> 
> 
> This is a backwards incompatible change.  The way to accomplish this is
> to add a new BAR which aliases the old one.  The new BAR should not be
> visible on guests created with -M pc-1.0 and below.  Please also update
> the spec so that driver authors can make use of the new feature.

Can we add an optional BAR 3 which does exactly what BAR 0 does, but is
in PIO space?

This will allow us to extend the spec instead of changing it, and in
turn drivers could remain compatible with QEMU and other device
implementations.

-- 

Sasha.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux