From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: [PATCH 00/20] qemu-kvm: vhost net port Date: Thu, 4 Feb 2010 17:27:13 +0200 Message-ID: <20100204152713.GA8461@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii To: kvm@vger.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:51660 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932709Ab0BDPaZ (ORCPT ); Thu, 4 Feb 2010 10:30:25 -0500 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o14FUOqC030264 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 4 Feb 2010 10:30:24 -0500 Received: from redhat.com (vpn2-9-138.ams2.redhat.com [10.36.9.138]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with SMTP id o14FUMC9016107 for ; Thu, 4 Feb 2010 10:30:23 -0500 Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: This is port of vhost v1 patch set I posted previously to qemu-kvm, for those that want to get good performance out of it :) This includes irqchip support and merge fixup on top of upstream patch. Michael S. Tsirkin (20): exec: memory notifiers kvm: move kvm_set_phys_mem around kvm: move kvm to use memory notifiers qemu-kvm: fixup after merging 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 qemu-kvm: add vhost.h header kvm: irqfd support msix: add mask/unmask notifiers virtio-pci: irqfd support Makefile.target | 2 + cpu-common.h | 19 ++ exec.c | 111 ++++++++- hw/msix.c | 36 +++- hw/msix.h | 1 + hw/notifier.c | 50 ++++ hw/notifier.h | 16 ++ hw/pci.h | 6 + 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 | 95 +++++++ hw/virtio.c | 52 ++++- hw/virtio.h | 15 +- kvm-all.c | 353 ++++++++++++++++----------- kvm.h | 34 ++- kvm/include/linux/vhost.h | 130 ++++++++++ net.c | 8 + net/tap.c | 43 ++++ net/tap.h | 5 + qemu-common.h | 2 + qemu-kvm.c | 1 + qemu-options.hx | 4 +- 27 files changed, 1704 insertions(+), 165 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 create mode 100644 kvm/include/linux/vhost.h