All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/10] virtio/vring: optimization patches
@ 2016-01-31 10:28 Paolo Bonzini
  2016-01-31 10:28 ` [Qemu-devel] [PATCH 01/10] virtio: move VirtQueueElement at the beginning of the structs Paolo Bonzini
                   ` (11 more replies)
  0 siblings, 12 replies; 24+ messages in thread
From: Paolo Bonzini @ 2016-01-31 10:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: cornelia.huck, mst

This includes two optimization of virtio:

- "slimming down" VirtQueueElements by not including room for
  1024 buffers.  This makes malloc much faster.

- optimizations to limit the number of address_space_translate
  calls in virtio.c, from Vincenzo and myself.

Thanks,

Paolo

v1->v2: improved commit messages [Conny]
        add assertions on sz [Conny]
        change bools from 1 and 0 to "true" and "false" [Conny]
        update shadow avail_idx in virtio_queue_set_last_avail_idx [Michael]
        collect Reviewed-by
        
Paolo Bonzini (7):
  virtio: move VirtQueueElement at the beginning of the structs
  virtio: move allocation to virtqueue_pop/vring_pop
  virtio: introduce qemu_get/put_virtqueue_element
  virtio: introduce virtqueue_alloc_element
  virtio: slim down allocation of VirtQueueElements
  vring: slim down allocation of VirtQueueElements
  virtio: combine the read of a descriptor

Vincenzo Maffione (3):
  virtio: cache used_idx in a VirtQueue field
  virtio: read avail_idx from VQ only when necessary
  virtio: combine write of an entry into used ring

 hw/9pfs/9p.c                        |   2 +-
 hw/9pfs/virtio-9p-device.c          |  17 +-
 hw/9pfs/virtio-9p.h                 |   2 +-
 hw/block/dataplane/virtio-blk.c     |  11 +-
 hw/block/virtio-blk.c               |  23 +--
 hw/char/virtio-serial-bus.c         |  78 +++++----
 hw/display/virtio-gpu.c             |  25 ++-
 hw/input/virtio-input.c             |  24 ++-
 hw/net/virtio-net.c                 |  69 +++++---
 hw/scsi/virtio-scsi-dataplane.c     |  15 +-
 hw/scsi/virtio-scsi.c               |  26 ++-
 hw/virtio/dataplane/vring.c         |  62 ++++---
 hw/virtio/virtio-balloon.c          |  22 ++-
 hw/virtio/virtio-rng.c              |  10 +-
 hw/virtio/virtio.c                  | 340 +++++++++++++++++++++++++-----------
 include/hw/virtio/dataplane/vring.h |   2 +-
 include/hw/virtio/virtio-balloon.h  |   2 +-
 include/hw/virtio/virtio-blk.h      |   5 +-
 include/hw/virtio/virtio-net.h      |   2 +-
 include/hw/virtio/virtio-scsi.h     |  15 +-
 include/hw/virtio/virtio-serial.h   |   2 +-
 include/hw/virtio/virtio.h          |  13 +-
 22 files changed, 486 insertions(+), 281 deletions(-)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 24+ messages in thread
* [Qemu-devel] [PATCH 00/10] virtio/vring: optimization patches
@ 2016-01-15 12:41 Paolo Bonzini
  2016-01-15 12:41 ` [Qemu-devel] [PATCH 10/10] virtio: combine write of an entry into used ring Paolo Bonzini
  0 siblings, 1 reply; 24+ messages in thread
From: Paolo Bonzini @ 2016-01-15 12:41 UTC (permalink / raw)
  To: qemu-devel; +Cc: Vincenzo Maffione, mst

This includes two optimization of virtio:

- "slimming down" VirtQueueElements by not including room for
  1024 buffers.  This makes malloc much faster.

- optimizations to limit the number of address_space_translate
  calls in virtio.c from Vincenzo and myself.

Thanks,

Paolo

Paolo Bonzini (7):
  virtio: move VirtQueueElement at the beginning of the structs
  virtio: move allocation to virtqueue_pop/vring_pop
  virtio: introduce qemu_get/put_virtqueue_element
  virtio: introduce virtqueue_alloc_element
  virtio: slim down allocation of VirtQueueElements
  vring: slim down allocation of VirtQueueElements
  virtio: combine the read of a descriptor

Vincenzo Maffione (3):
  virtio: cache used_idx in a VirtQueue field
  virtio: read avail_idx from VQ only when necessary
  virtio: combine write of an entry into used ring

 hw/9pfs/9p.c                        |   2 +-
 hw/9pfs/virtio-9p-device.c          |  16 +-
 hw/9pfs/virtio-9p.h                 |   2 +-
 hw/block/dataplane/virtio-blk.c     |  11 +-
 hw/block/virtio-blk.c               |  23 +--
 hw/char/virtio-serial-bus.c         |  78 +++++----
 hw/display/virtio-gpu.c             |  25 ++-
 hw/input/virtio-input.c             |  24 ++-
 hw/net/virtio-net.c                 |  69 +++++---
 hw/scsi/virtio-scsi-dataplane.c     |  15 +-
 hw/scsi/virtio-scsi.c               |  26 ++-
 hw/virtio/dataplane/vring.c         |  62 ++++---
 hw/virtio/virtio-balloon.c          |  22 ++-
 hw/virtio/virtio-rng.c              |  10 +-
 hw/virtio/virtio.c                  | 339 +++++++++++++++++++++++++-----------
 include/hw/virtio/dataplane/vring.h |   2 +-
 include/hw/virtio/virtio-balloon.h  |   2 +-
 include/hw/virtio/virtio-blk.h      |   5 +-
 include/hw/virtio/virtio-net.h      |   2 +-
 include/hw/virtio/virtio-scsi.h     |  15 +-
 include/hw/virtio/virtio-serial.h   |   2 +-
 include/hw/virtio/virtio.h          |  13 +-
 22 files changed, 484 insertions(+), 282 deletions(-)

-- 
2.5.0

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2016-02-05  7:18 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-31 10:28 [Qemu-devel] [PATCH v2 00/10] virtio/vring: optimization patches Paolo Bonzini
2016-01-31 10:28 ` [Qemu-devel] [PATCH 01/10] virtio: move VirtQueueElement at the beginning of the structs Paolo Bonzini
2016-02-01 11:17   ` Cornelia Huck
2016-01-31 10:28 ` [Qemu-devel] [PATCH 02/10] virtio: move allocation to virtqueue_pop/vring_pop Paolo Bonzini
2016-02-01 11:20   ` Cornelia Huck
2016-01-31 10:28 ` [Qemu-devel] [PATCH 03/10] virtio: introduce qemu_get/put_virtqueue_element Paolo Bonzini
2016-01-31 10:29 ` [Qemu-devel] [PATCH 04/10] virtio: introduce virtqueue_alloc_element Paolo Bonzini
2016-01-31 10:29 ` [Qemu-devel] [PATCH 05/10] virtio: slim down allocation of VirtQueueElements Paolo Bonzini
2016-01-31 10:29 ` [Qemu-devel] [PATCH 06/10] vring: " Paolo Bonzini
2016-01-31 10:29 ` [Qemu-devel] [PATCH 07/10] virtio: combine the read of a descriptor Paolo Bonzini
2016-02-03 12:34   ` Gonglei (Arei)
2016-02-03 13:40     ` Paolo Bonzini
2016-02-04  7:48       ` Gonglei (Arei)
2016-02-04 10:18         ` Paolo Bonzini
2016-02-05  6:16           ` Gonglei (Arei)
2016-01-31 10:29 ` [Qemu-devel] [PATCH 08/10] virtio: cache used_idx in a VirtQueue field Paolo Bonzini
2016-01-31 10:29 ` [Qemu-devel] [PATCH 09/10] virtio: read avail_idx from VQ only when necessary Paolo Bonzini
2016-01-31 10:29 ` [Qemu-devel] [PATCH 10/10] virtio: combine write of an entry into used ring Paolo Bonzini
2016-02-03 12:08 ` [Qemu-devel] [PATCH v2 00/10] virtio/vring: optimization patches Gonglei (Arei)
2016-02-04 10:19   ` Paolo Bonzini
2016-02-05  7:17     ` Gonglei (Arei)
2016-02-03 12:38 ` Gonglei (Arei)
  -- strict thread matches above, loose matches on Subject: below --
2016-01-15 12:41 [Qemu-devel] [PATCH " Paolo Bonzini
2016-01-15 12:41 ` [Qemu-devel] [PATCH 10/10] virtio: combine write of an entry into used ring Paolo Bonzini
2016-01-19 16:26   ` Cornelia Huck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.