diff options
| author | Li Feng <lifeng1519@gmail.com> | 2018-11-01 18:38:07 +0800 |
|---|---|---|
| committer | Fam Zheng <fam@euphon.net> | 2019-01-09 09:38:34 +0800 |
| commit | 2916405a11d3119cfa367ea73d66e22ea8118382 (patch) | |
| tree | 7a8b3d13cd48bbafde0c95b9bbbff196428f3ded /scripts/cocci-macro-file.h | |
| parent | 147923b1a901a0370f83a0f4c58ec1baffef22f0 (diff) | |
| download | focaccia-qemu-2916405a11d3119cfa367ea73d66e22ea8118382.tar.gz focaccia-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 'scripts/cocci-macro-file.h')
0 files changed, 0 insertions, 0 deletions