lkml.org 
[lkml]   [2012]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/4] virtio-scsi performance improvements
Date
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



\
 
 \ /
  Last update: 2012-06-13 17:41    [W:0.035 / U:0.452 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site