[PULL] virtio/vhost: new features, performance improvements, cleanups

From: Michael S. Tsirkin
Date: Sun Mar 20 2016 - 09:59:16 EST


The following changes since commit e1f33be9186363da7955bcb5f0b03e6685544c50:

vhost: fix error path in vhost_init_used() (2016-03-02 17:01:49 +0200)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus

for you to fetch changes up to c67f5db82027ba6d2ea4ac9176bc45996a03ae6a:

virtio_net: replace netdev_alloc_skb_ip_align() with napi_alloc_skb() (2016-03-17 17:42:00 +0200)

----------------------------------------------------------------
virtio/vhost: new features, performance improvements, cleanups

This adds basic polling support for vhost.
Reworks virtio to optionally use DMA API, fixing it on Xen.
Balloon stats gained a new entry.
Using the new napi_alloc_skb speeds up virtio net.
virtio blk stats can now be read while another VCPU
us busy inflating or deflating the balloon.
Plus misc cleanups in various places.

Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>

----------------------------------------------------------------
Andy Lutomirski (6):
vring: Introduce vring_use_dma_api()
virtio_ring: Support DMA APIs
virtio: Add improved queue allocation API
virtio_mmio: Use the DMA API if enabled
virtio_pci: Use the DMA API if enabled
vring: Use the DMA API on Xen

Christian Borntraeger (3):
dma: Provide simple noop dma ops
alpha/dma: use common noop dma ops
s390/dma: Allow per device dma ops

Cornelia Huck (1):
virtio/s390: size of SET_IND payload

Geliang Tang (1):
virtio/s390: use dev_to_virtio

Greg Kurz (2):
vhost: rename cross-endian helpers
vhost: rename vhost_init_used()

Jason Wang (3):
vhost: introduce vhost_has_work()
vhost: introduce vhost_vq_avail_empty()
vhost_net: basic polling support

Michael S. Tsirkin (1):
virtio_blk: VIRTIO_BLK_F_WCE->VIRTIO_BLK_F_FLUSH

Paolo Abeni (1):
virtio_net: replace netdev_alloc_skb_ip_align() with napi_alloc_skb()

Petr Mladek (2):
virtio_balloon: Use a workqueue instead of "vballoon" kthread
virtio_balloon: Allow to resize and update the balloon stats in parallel

arch/s390/include/asm/device.h | 6 +-
arch/s390/include/asm/dma-mapping.h | 6 +-
drivers/vhost/vhost.h | 5 +-
drivers/virtio/virtio_pci_common.h | 6 -
include/linux/dma-mapping.h | 2 +
include/linux/virtio.h | 23 +-
include/linux/virtio_ring.h | 35 +++
include/uapi/linux/vhost.h | 6 +
include/uapi/linux/virtio_blk.h | 6 +-
tools/virtio/linux/dma-mapping.h | 17 ++
arch/alpha/kernel/pci-noop.c | 46 +---
arch/s390/pci/pci.c | 1 +
arch/s390/pci/pci_dma.c | 4 +-
drivers/block/virtio_blk.c | 11 +-
drivers/net/virtio_net.c | 2 +-
drivers/s390/virtio/virtio_ccw.c | 15 +-
drivers/vhost/net.c | 80 ++++++-
drivers/vhost/scsi.c | 2 +-
drivers/vhost/test.c | 2 +-
drivers/vhost/vhost.c | 69 +++++-
drivers/virtio/virtio_balloon.c | 122 +++++-----
drivers/virtio/virtio_mmio.c | 67 ++----
drivers/virtio/virtio_pci_legacy.c | 42 ++--
drivers/virtio/virtio_pci_modern.c | 61 ++---
drivers/virtio/virtio_ring.c | 439 +++++++++++++++++++++++++++++++-----
lib/dma-noop.c | 75 ++++++
arch/s390/Kconfig | 5 +-
drivers/virtio/Kconfig | 2 +-
lib/Makefile | 1 +
29 files changed, 823 insertions(+), 335 deletions(-)
create mode 100644 tools/virtio/linux/dma-mapping.h
create mode 100644 lib/dma-noop.c