From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NUNvc-00087b-Nx for qemu-devel@nongnu.org; Mon, 11 Jan 2010 12:19:44 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NUNvY-000834-Qy for qemu-devel@nongnu.org; Mon, 11 Jan 2010 12:19:44 -0500 Received: from [199.232.76.173] (port=57992 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NUNvY-00082q-Lb for qemu-devel@nongnu.org; Mon, 11 Jan 2010 12:19:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:59039) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NUNvX-0007p9-Vq for qemu-devel@nongnu.org; Mon, 11 Jan 2010 12:19:40 -0500 Date: Mon, 11 Jan 2010 19:16:42 +0200 From: "Michael S. Tsirkin" Message-ID: <20100111171641.GA11936@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH-RFC 00/13] 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 an untested patchset with vhost support for upstream qemu. Note that you should not expect performance gains from vhost unless in-kernel irqchip is enabled (which is not in upstream qemu now). Since adding vhost involves quite a bit of infrastructure, I thought it makes sense to send an RFC already, so that interested parties can review it. In particular, command line and help text need to be finalized early to so that management can start looking on supporting the feature. This patch has all bits besides migration filled in. Also missing is packet socket backend: another team is now working on this. Michael S. Tsirkin (13): virtio: export virtqueue structure kvm: add API to set ioeventfd virtio: add iofd/irqfd support virtio-pci: fill in irqfd/queufd support syborg_virtio: add irqfd/eventfd support s390-virtio: fill in irqfd support virtio: move typedef to qemu-common net/tap: add interface to get device fd tap: add vhost/vhostfd options tap: add API to retrieve vhost net header vhost net support virtio: add status change callback virtio-net: connect to vhost net backend Makefile.target | 1 + hw/s390-virtio-bus.c | 19 +++ hw/syborg_virtio.c | 27 ++++ hw/vhost.c | 349 ++++++++++++++++++++++++++++++++++++++++++++++++++ hw/vhost.h | 33 +++++ hw/vhost_net.c | 145 +++++++++++++++++++++ hw/vhost_net.h | 20 +++ hw/virtio-net.c | 40 ++++++ hw/virtio-pci.c | 32 +++++ hw/virtio.c | 31 ++--- hw/virtio.h | 23 +++- kvm-all.c | 24 ++++ kvm.h | 3 + net.c | 8 + net/tap.c | 43 ++++++ net/tap.h | 5 + qemu-common.h | 1 + qemu-options.hx | 4 +- 18 files changed, 785 insertions(+), 23 deletions(-) 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