Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 May 2017 18:33:08 +0000 (11:33 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 10 May 2017 18:33:08 +0000 (11:33 -0700)
Pull virtio updates from Michael Tsirkin:
 "Fixes, cleanups, performance

  A bunch of changes to virtio, most affecting virtio net. Also ptr_ring
  batched zeroing - first of batching enhancements that seems ready."

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  s390/virtio: change maintainership
  tools/virtio: fix spelling mistake: "wakeus" -> "wakeups"
  virtio_net: tidy a couple debug statements
  ptr_ring: support testing different batching sizes
  ringtest: support test specific parameters
  ptr_ring: batch ring zeroing
  virtio: virtio_driver doc
  virtio_net: don't reset twice on XDP on/off
  virtio_net: fix support for small rings
  virtio_net: reduce alignment for buffers
  virtio_net: rework mergeable buffer handling
  virtio_net: allow specifying context for rx
  virtio: allow extra context per descriptor
  tools/virtio: fix build breakage
  virtio: add context flag to find vqs
  virtio: wrap find_vqs
  ringtest: fix an assert statement

1  2 
MAINTAINERS
drivers/block/virtio_blk.c
drivers/char/virtio_console.c
drivers/net/virtio_net.c
drivers/scsi/virtio_scsi.c
net/vmw_vsock/virtio_transport.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
index 1c6d3923c224aad638802a8de531915c027f0b1b,87b5c204634193255343b57af6f5e80cbd7b9909..9320d96a1632bbebe8bd1d4a04059e0df631ac19
@@@ -270,31 -239,10 +263,13 @@@ static void skb_xmit_done(struct virtqu
        /* Suppress further interrupts. */
        virtqueue_disable_cb(vq);
  
 -      /* We were probably waiting for more output buffers. */
 -      netif_wake_subqueue(vi->dev, vq2txq(vq));
 +      if (napi->weight)
 +              virtqueue_napi_schedule(napi, vq);
 +      else
 +              /* We were probably waiting for more output buffers. */
 +              netif_wake_subqueue(vi->dev, vq2txq(vq));
  }
  
- static unsigned int mergeable_ctx_to_buf_truesize(unsigned long mrg_ctx)
- {
-       unsigned int truesize = mrg_ctx & (MERGEABLE_BUFFER_ALIGN - 1);
-       return (truesize + 1) * MERGEABLE_BUFFER_ALIGN;
- }
- static void *mergeable_ctx_to_buf_address(unsigned long mrg_ctx)
- {
-       return (void *)(mrg_ctx & -MERGEABLE_BUFFER_ALIGN);
- }
- static unsigned long mergeable_buf_to_ctx(void *buf, unsigned int truesize)
- {
-       unsigned int size = truesize / MERGEABLE_BUFFER_ALIGN;
-       return (unsigned long)buf | (size - 1);
- }
  /* Called from bottom half context */
  static struct sk_buff *page_to_skb(struct virtnet_info *vi,
                                   struct receive_queue *rq,
Simple merge
Simple merge