[Top][All Lists]
[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.