diff options
author | mav <mav@FreeBSD.org> | 2015-03-27 08:53:59 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-03-27 08:53:59 +0000 |
commit | b0012948cc045edfeb75001bd58d8b5aa4b9c408 (patch) | |
tree | d5e582739ba24f9865f9b0429eefe9fb0674851e /usr.sbin/bhyve/block_if.c | |
parent | aaa4bfa29497aab9c1f33620881bea8ca70e7865 (diff) | |
download | FreeBSD-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.c | 2 |
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 { |