qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [RFC PATCH 0/9] scsi: support s/g operation without a bounce buffer
Date: Mon,  6 Jun 2011 18:26:51 +0200	[thread overview]
Message-ID: <1307377620-7538-1-git-send-email-pbonzini@redhat.com> (raw)

This is the third part in my SCSI s/g series.  From quick benchmarking,
it speeds up some workloads by 2-4 times.  Benefits vary depending on
the number of sectors read/written by the typical operation.  More precise
numbers of course will come.

Unlike the previous attempts, which forced devices to use an iovec
provided by the HBA, here the devices can choose whether to use the
old mechanism or the iovecs.  In addition, I do not plan to add this
to real devices, only paravirtual.  For this reason, this series includes
an emulation of the vmware pvscsi device (the emulation is complete
except for hotplug and PIO operation, both of which are undocumented
AFAICS).

The series currently depends on the cpu_physical_memory_fast operations.
The dependency can be removed if necessary though.  In fact, I would like
an overall comment on the API since I might as well drop pvscsi completely
and just implement this for virtio-scsi.

Paolo Bonzini (9):
  make qbus_reset_all public
  pvscsi: first commit
  pvscsi: check validity of DMA addresses in advance
  scsi: always use get_sense
  scsi-disk: lazily allocate bounce buffer
  allow switching a qiov between internal and external storage
  scsi: push qiov to SCSIRequest
  scsi: add get_iovec to SCSIBusOps
  pvscsi: implement s/g operation without a bounce buffer

 Makefile.objs           |    1 +
 cutils.c                |   14 +-
 default-configs/pci.mak |    1 +
 hw/pci.h                |    1 +
 hw/qdev.c               |    7 +-
 hw/qdev.h               |    2 +-
 hw/scsi-bus.c           |   20 +-
 hw/scsi-disk.c          |   62 ++-
 hw/scsi.h               |    4 +
 hw/spapr_vscsi.c        |   90 +----
 hw/vmw_pvscsi.c         | 1014 +++++++++++++++++++++++++++++++++++++++++++++++
 hw/vmw_pvscsi.h         |  389 ++++++++++++++++++
 trace-events            |   15 +
 vl.c                    |    2 +-
 14 files changed, 1518 insertions(+), 104 deletions(-)
 create mode 100644 hw/vmw_pvscsi.c
 create mode 100644 hw/vmw_pvscsi.h

-- 
1.7.4.4

             reply	other threads:[~2011-06-06 16:27 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-06 16:26 Paolo Bonzini [this message]
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 1/9] make qbus_reset_all public Paolo Bonzini
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 2/9] pvscsi: first commit Paolo Bonzini
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 3/9] pvscsi: check validity of DMA addresses in advance Paolo Bonzini
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 4/9] scsi: always use get_sense Paolo Bonzini
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 5/9] scsi-disk: lazily allocate bounce buffer Paolo Bonzini
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 6/9] allow switching a qiov between internal and external storage Paolo Bonzini
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 7/9] scsi: push qiov to SCSIRequest Paolo Bonzini
2011-06-06 16:26 ` [Qemu-devel] [RFC PATCH 8/9] scsi: add get_iovec/unmap_iovec to SCSIBusOps Paolo Bonzini
2011-06-06 16:27 ` [Qemu-devel] [RFC PATCH 9/9] pvscsi: implement s/g operation without a bounce buffer Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1307377620-7538-1-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).