From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: [PATCHv2 0/3] virtio: add guest MSI-X support Date: Thu, 7 May 2009 17:08:38 +0300 Message-ID: <20090507140838.GA1516@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Rusty Russell , virtualization@lists.linux-foundation.org, Anthony Liguori , kvm@vger.kernel.org, avi@redhat.com To: Christian Borntraeger Return-path: Received: from mx2.redhat.com ([66.187.237.31]:41959 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754669AbZEGOKX (ORCPT ); Thu, 7 May 2009 10:10:23 -0400 Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: Add optional MSI-X support: use a vector per virtqueue with fallback to a common vector and finally to regular interrupt. Teach all drivers to use it. Signed-off-by: Michael S. Tsirkin --- Here's a draft set of patches for MSI-X support in the guest. It still needs to be tested properly, and performance impact measured, but I thought I'd share it here in the hope of getting some very early feedback/flames. Changelog since v1: - Per Avi's suggestion, let guest configure virtqueue to vector mapping - Per Rusty's suggestion, replace API with find_vqs/del_vqs. Michael S. Tsirkin (3): virtio: find_vqs/del_vqs virtio operations virtio_pci: split up vp_interrupt virtio_pci: optional MSI-X support drivers/block/virtio_blk.c | 11 +- drivers/char/hw_random/virtio-rng.c | 11 +- drivers/char/virtio_console.c | 27 ++-- drivers/lguest/lguest_device.c | 49 ++++++- drivers/net/virtio_net.c | 47 +++---- drivers/s390/kvm/kvm_virtio.c | 64 ++++++++- drivers/virtio/virtio_balloon.c | 31 ++-- drivers/virtio/virtio_pci.c | 283 ++++++++++++++++++++++++++++++----- include/linux/virtio_config.h | 29 +++- include/linux/virtio_pci.h | 8 +- 10 files changed, 440 insertions(+), 120 deletions(-)