[Qemu-devel] [PATCH v3 0/3] ivshmem: add a new PIO BAR4(Doorbell) besides MMIO BAR0 to reduce notification time

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

 



From: Hongyong Zang <zanghongyong@xxxxxxxxxx>

This patch series, adds a PIO BAR4 for guest notifying qemu. And the new
notification way of PIO BAR4 reduces 30% time in comparison with the original
MMIO BAR0 way.
Meantime, this patch adds a memory API named kvm_set_ioeventfd_pio_long which
is about ioeventfd for PIO long. Also, this patch introduces a new feature
named IVSHMEM_PIO_NOTIFY to make PIO BAR4 disappeared for compatible with
machine type pc-1.0 or blow.

Notes: the patch series are based on the former patch "[PATCH] ivshmem: fix
guest unable to start with ioeventfd".

In v3, some changes come from Avi and Cam's comments:
  -split the v2 patch to an infrastructure patch(memory API) and an ivshmem patch
  -change BAR3 to BAR4 so that the shared memory region could be made a 64-bit
    BAR(take BAR2 and BAR3)
  -make BAR4 disappeared for compatible with machine type pc-1.0 or blow
  -update the ivshmem spec


Hongyong Zang (3):
  memory: add a memory API about ioeventfd for PIO long
  ivshmem: add a new PIO BAR4(Doorbell) to reduce notification time
  ivshmem: update the spec

 docs/specs/ivshmem_device_spec.txt |    8 ++++++--
 hw/ivshmem.c                       |   34 ++++++++++++++++++++++++++++++++--
 hw/pc_piix.c                       |   28 ++++++++++++++++++++++++++++
 kvm-all.c                          |   23 +++++++++++++++++++++++
 kvm-stub.c                         |    5 +++++
 kvm.h                              |    1 +
 memory.c                           |   20 ++++++++++++++++----
 7 files changed, 111 insertions(+), 8 deletions(-)

--
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