From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Nd151-0002Uh-3R for qemu-devel@nongnu.org; Thu, 04 Feb 2010 07:45:07 -0500 Received: from [199.232.76.173] (port=34356 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Nd150-0002UZ-Jv for qemu-devel@nongnu.org; Thu, 04 Feb 2010 07:45:06 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1Nd14z-0007Kd-0f for qemu-devel@nongnu.org; Thu, 04 Feb 2010 07:45:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:58910) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Nd14y-0007KI-HJ for qemu-devel@nongnu.org; Thu, 04 Feb 2010 07:45:04 -0500 Date: Thu, 4 Feb 2010 14:41:49 +0200 From: "Michael S. Tsirkin" Message-ID: <20100204124148.GA22559@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH 00/15] vhost-net: preview List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori , qemu-devel@nongnu.org Here's a patchset with vhost support for upstream qemu. Note that irqchip/MSI is no longer required for vhost, but you should not expect performance gains from vhost unless in-kernel irqchip is enabled (which is not in upstream qemu now), and unless guest enables MSI. A follow-up patchset against qemu-kvm will add irqchip support. Only virtio-pci is currently supported: I'm interested in supporting syborg/s390 as well, and tried to make APIs generic to make this possible. Also missing is packet socket backend: another team is working on this. Michael S. Tsirkin (15): exec: memory notifiers kvm: move kvm_set_phys_mem around kvm: move kvm to use memory notifiers kvm: add API to set ioeventfd notifier: event notifier implementation virtio: add notifier support virtio: add APIs for queue fields virtio: add status change callback virtio: move typedef to qemu-common virtio-pci: fill in notifier support tap: add interface to get device fd vhost: vhost net support tap: add vhost/vhostfd options tap: add API to retrieve vhost net header virtio-net: vhost net support Makefile.target | 2 + cpu-common.h | 19 ++ exec.c | 110 +++++++++- hw/notifier.c | 50 ++++ hw/notifier.h | 16 ++ hw/s390-virtio-bus.c | 3 + hw/syborg_virtio.c | 2 + hw/vhost.c | 603 ++++++++++++++++++++++++++++++++++++++++++++++++++ hw/vhost.h | 44 ++++ hw/vhost_net.c | 147 ++++++++++++ hw/vhost_net.h | 20 ++ hw/virtio-net.c | 67 ++++++- hw/virtio-pci.c | 68 ++++++ hw/virtio.c | 52 +++++- hw/virtio.h | 15 +- kvm-all.c | 330 ++++++++++++++++------------ kvm.h | 24 ++- net.c | 8 + net/tap.c | 43 ++++ net/tap.h | 5 + qemu-common.h | 2 + qemu-options.hx | 4 +- 22 files changed, 1470 insertions(+), 164 deletions(-) create mode 100644 hw/notifier.c create mode 100644 hw/notifier.h create mode 100644 hw/vhost.c create mode 100644 hw/vhost.h create mode 100644 hw/vhost_net.c create mode 100644 hw/vhost_net.h