qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] ivshmem: use PIO for BAR0(Doorbell) instead of


From: Sasha Levin
Subject: Re: [Qemu-devel] [PATCH] ivshmem: use PIO for BAR0(Doorbell) instead of MMIO to reduce notification time
Date: Thu, 17 Nov 2011 16:48:49 +0200

On Thu, 2011-11-17 at 16:36 +0200, Avi Kivity wrote:
> On 11/14/2011 05:56 AM, address@hidden wrote:
> > From: Hongyong Zang <address@hidden>
> >
> > 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.




reply via email to

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