summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bhyve/block_if.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2015-03-27 08:53:59 +0000
committermav <mav@FreeBSD.org>2015-03-27 08:53:59 +0000
commitb0012948cc045edfeb75001bd58d8b5aa4b9c408 (patch)
treed5e582739ba24f9865f9b0429eefe9fb0674851e /usr.sbin/bhyve/block_if.c
parentaaa4bfa29497aab9c1f33620881bea8ca70e7865 (diff)
downloadFreeBSD-src-b0012948cc045edfeb75001bd58d8b5aa4b9c408.zip
FreeBSD-src-b0012948cc045edfeb75001bd58d8b5aa4b9c408.tar.gz
MFC r280037:
Rewrite virtio block device driver to work asynchronously and use the block I/O interface. Asynchronous operation, based on r280026 change, allows to not block virtual CPU during I/O processing, that on slow/busy storage can take seconds. Use of recently improved block I/O interface allows to process multiple requests same time, that improves random I/O performance on wide storages. Benchmarks of virtual disk, backed by ZVOL on RAID10 pool of 4 HDDs, show ~3.5 times random read performance improvements, while no degradation on linear I/O. Guest CPU usage during test dropped from 100% to almost zero.
Diffstat (limited to 'usr.sbin/bhyve/block_if.c')
-rw-r--r--usr.sbin/bhyve/block_if.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/bhyve/block_if.c b/usr.sbin/bhyve/block_if.c
index ceb48fe..68a9bae 100644
--- a/usr.sbin/bhyve/block_if.c
+++ b/usr.sbin/bhyve/block_if.c
@@ -54,7 +54,7 @@ __FBSDID("$FreeBSD$");
#define BLOCKIF_SIG 0xb109b109
-#define BLOCKIF_MAXREQ 33
+#define BLOCKIF_MAXREQ 64
#define BLOCKIF_NUMTHR 8
enum blockop {
OpenPOWER on IntegriCloud