All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/10] virtio/vring: optimization patches
@ 2016-01-15 12:41 Paolo Bonzini
  2016-01-15 12:41 ` [Qemu-devel] [PATCH 01/10] virtio: move VirtQueueElement at the beginning of the structs Paolo Bonzini
                   ` (9 more replies)
  0 siblings, 10 replies; 29+ 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] 29+ messages in thread
* [Qemu-devel] [PATCH v2 00/10] virtio/vring: optimization patches
@ 2016-01-31 10:28 Paolo Bonzini
  2016-01-31 10:29 ` [Qemu-devel] [PATCH 05/10] virtio: slim down allocation of VirtQueueElements Paolo Bonzini
  0 siblings, 1 reply; 29+ 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] 29+ messages in thread

end of thread, other threads:[~2016-01-31 10:29 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-15 12:41 [Qemu-devel] [PATCH 00/10] virtio/vring: optimization patches Paolo Bonzini
2016-01-15 12:41 ` [Qemu-devel] [PATCH 01/10] virtio: move VirtQueueElement at the beginning of the structs Paolo Bonzini
2016-01-19 12:09   ` Cornelia Huck
2016-01-19 13:22     ` Paolo Bonzini
2016-01-19 14:01       ` Cornelia Huck
2016-01-15 12:41 ` [Qemu-devel] [PATCH 02/10] virtio: move allocation to virtqueue_pop/vring_pop Paolo Bonzini
2016-01-19 12:22   ` Cornelia Huck
2016-01-19 13:16     ` Paolo Bonzini
2016-01-15 12:41 ` [Qemu-devel] [PATCH 03/10] virtio: introduce qemu_get/put_virtqueue_element Paolo Bonzini
2016-01-19 12:30   ` Cornelia Huck
2016-01-15 12:41 ` [Qemu-devel] [PATCH 04/10] virtio: introduce virtqueue_alloc_element Paolo Bonzini
2016-01-19 12:40   ` Cornelia Huck
2016-01-15 12:41 ` [Qemu-devel] [PATCH 05/10] virtio: slim down allocation of VirtQueueElements Paolo Bonzini
2016-01-19 15:54   ` Cornelia Huck
2016-01-15 12:41 ` [Qemu-devel] [PATCH 06/10] vring: " Paolo Bonzini
2016-01-19 15:58   ` Cornelia Huck
2016-01-15 12:41 ` [Qemu-devel] [PATCH 07/10] virtio: combine the read of a descriptor Paolo Bonzini
2016-01-19 16:07   ` Cornelia Huck
2016-01-15 12:41 ` [Qemu-devel] [PATCH 08/10] virtio: cache used_idx in a VirtQueue field Paolo Bonzini
2016-01-19 16:11   ` Cornelia Huck
2016-01-15 12:41 ` [Qemu-devel] [PATCH 09/10] virtio: read avail_idx from VQ only when necessary Paolo Bonzini
2016-01-19 16:20   ` Cornelia Huck
2016-01-19 16:54   ` Michael S. Tsirkin
2016-01-19 18:48     ` Paolo Bonzini
2016-01-20 17:32       ` Cornelia Huck
2016-01-21 21:40       ` Vincenzo Maffione
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
2016-01-31 10:28 [Qemu-devel] [PATCH v2 00/10] virtio/vring: optimization patches Paolo Bonzini
2016-01-31 10:29 ` [Qemu-devel] [PATCH 05/10] virtio: slim down allocation of VirtQueueElements Paolo Bonzini

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.