summaryrefslogtreecommitdiffstats
path: root/hw/usb/dev-hub.c
diff options
context:
space:
mode:
authorLi Feng2018-11-01 11:38:07 +0100
committerFam Zheng2019-01-09 02:38:34 +0100
commit2916405a11d3119cfa367ea73d66e22ea8118382 (patch)
tree7a8b3d13cd48bbafde0c95b9bbbff196428f3ded /hw/usb/dev-hub.c
parentMerge remote-tracking branch 'remotes/kraxel/tags/usb-20190108-pull-request' ... (diff)
downloadqemu-2916405a11d3119cfa367ea73d66e22ea8118382.tar.gz
qemu-2916405a11d3119cfa367ea73d66e22ea8118382.tar.xz
qemu-2916405a11d3119cfa367ea73d66e22ea8118382.zip
block/nvme: optimize the performance of nvme driver based on vfio-pci
When the IO size is larger than 2 pages, we move the the pointer one by one in the pagelist, this is inefficient. This is a simple benchmark result: Before: $ qemu-io -c 'write 0 1G' nvme://0000:00:04.0/1 wrote 1073741824/1073741824 bytes at offset 0 1 GiB, 1 ops; 0:00:02.41 (424.504 MiB/sec and 0.4146 ops/sec) $ qemu-io -c 'read 0 1G' nvme://0000:00:04.0/1 read 1073741824/1073741824 bytes at offset 0 1 GiB, 1 ops; 0:00:02.03 (503.055 MiB/sec and 0.4913 ops/sec) After: $ qemu-io -c 'write 0 1G' nvme://0000:00:04.0/1 wrote 1073741824/1073741824 bytes at offset 0 1 GiB, 1 ops; 0:00:02.17 (471.517 MiB/sec and 0.4605 ops/sec) $ qemu-io -c 'read 0 1G' nvme://0000:00:04.0/1 read 1073741824/1073741824 bytes at offset 0 1 GiB, 1 ops; 0:00:01.94 (526.770 MiB/sec and 0.5144 ops/sec) Signed-off-by: Li Feng <lifeng1519@gmail.com> Message-Id: <20181101103807.25862-1-lifeng1519@gmail.com> Signed-off-by: Fam Zheng <famz@redhat.com>
Diffstat (limited to 'hw/usb/dev-hub.c')
0 files changed, 0 insertions, 0 deletions