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: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH] ivshmem: use PIO for BAR0(Doorbell) instead of MMIO to reduce notification time
Date: Thu, 17 Nov 2011 17:10:34 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20110930 Thunderbird/7.0.1

On 11/17/2011 04:48 PM, Sasha Levin wrote:
> 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.

Yes, that's what I meant.

-- 
error compiling committee.c: too many arguments to function




reply via email to

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