[PATCH 0/4] virtio-scsi performance improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series reorganizes the locking in virtio-scsi, introducing separate
scatterlists for each target and "pipelining" the locks so that one
command can be queued while the other is prepared.  This improves
performance when there are multiple in-flight operations.

For example, a simple "if=/dev/sda of=/dev/null bs=128M iflag=direct"
(the source being a 10G disk, residing entirely in the host buffer cache)
improve as follows.  The additional locking does not cause any penalty
with only one dd process, while 2 simultaneous I/O operations improve
their times by 3%:

               number of simultaneous dd
                   1               2
 ----------------------------------------
 current        5.9958s        10.2640s
 patched        5.9531s         9.8663s

Times are best of 10, and taken on a 2-VCPU guest.

 drivers/scsi/virtio_scsi.c   |  226 ++++++++++++++++++++++++++++---------------
 1 file changed, 151 insertions(+), 75 deletions(-)

Paolo Bonzini (4):
  virtio-scsi: unlock during kick
  virtio-scsi: split locking per vq
  virtio-scsi: release sg_lock after add_buf
  virtio-scsi: split scatterlist per target

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux