summaryrefslogtreecommitdiffstats
path: root/scripts/docproc.c
diff options
context:
space:
mode:
authorPaolo Bonzini2012-06-13 16:56:33 +0200
committerJames Bottomley2012-07-20 09:58:57 +0200
commitbce750b1633927be3eecf821f4d17975c3ba5b6a (patch)
treec2c02f7bb37c67e1f4e769b4eb064726e84fc0ac /scripts/docproc.c
parent[SCSI] virtio-scsi: split locking per vq (diff)
downloadkernel-qcow2-linux-bce750b1633927be3eecf821f4d17975c3ba5b6a.tar.gz
kernel-qcow2-linux-bce750b1633927be3eecf821f4d17975c3ba5b6a.tar.xz
kernel-qcow2-linux-bce750b1633927be3eecf821f4d17975c3ba5b6a.zip
[SCSI] virtio-scsi: release sg_lock after add_buf
We do not need the sglist after calling virtqueue_add_buf. Hence we can "pipeline" the locked operations and start preparing the sglist for the next request while we kick the virtqueue. Together with the previous two patches, this improves performance as follows. For 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), the additional locking does not cause any penalty with only one dd process, but 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). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'scripts/docproc.c')
0 files changed, 0 insertions, 0 deletions