-
Asias He authored
bio->bio_data from ZFS is allocated either from alloc_page or malloc which are both physically contiguous buffer. So no need to break a contiguous buffers that > 4k into several physical page mapping even if the virtual space is contiguous. This reduces the virtio buffer element usage a lot with large buffers. Test: On my setup using ramdisk as backend. $ scripts/run.py -e "/tests/misc-bdev-write.so vblk1 200000000" Before: Wrote 13644.500 MB in 10.00 s = 1364.157 Mb/s After: Wrote 30219.750 MB in 10.00 s = 3021.261 Mb/s Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
Asias He authoredbio->bio_data from ZFS is allocated either from alloc_page or malloc which are both physically contiguous buffer. So no need to break a contiguous buffers that > 4k into several physical page mapping even if the virtual space is contiguous. This reduces the virtio buffer element usage a lot with large buffers. Test: On my setup using ramdisk as backend. $ scripts/run.py -e "/tests/misc-bdev-write.so vblk1 200000000" Before: Wrote 13644.500 MB in 10.00 s = 1364.157 Mb/s After: Wrote 30219.750 MB in 10.00 s = 3021.261 Mb/s Reviewed-by:
Glauber Costa <glommer@cloudius-systems.com> Signed-off-by:
Asias He <asias@cloudius-systems.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>