Spdk/test/unit/lib/bdev
Shuhei Matsumoto 5616c1ed9c bdev: Change split IOV submission from sequential to batch
Large read I/O will be typical in some use cases such as
web stream services. On the other hand, large write I/O
may not be typical but will be sufficiently probable.

Currently when large I/O is submitted to the RAID bdev,
the I/O will be divided by the strip size of it and then
divided I/Os are submitted sequentially.

This patch tries to improve the performance of the RAID bdev
in large I/Os. Besides, when the RAID bdev supports higher
levels of RAID (such as RAID5), it should issue multiple
I/Os to multiple base bdevs by batch fasion in the parity
update. Having experience in batched I/O will be helpful
in the future case too.

In this patch, submit split I/Os by batch until all child IOVs
are consumed or all data are submitted. If all child IOVs are
consumed before all data are submitted, wait until all batched
split I/Os complete and then submit again.

In this patch, test code is added too.

Change-Id: If6cd81cc0c306e3875a93c39dbe4288723b78937
Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/424770
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2018-10-10 17:19:32 +00:00
..
bdev_raid.c bdev/raid: Add JSON config dump 2018-09-26 15:39:37 +00:00
bdev.c bdev: Change split IOV submission from sequential to batch 2018-10-10 17:19:32 +00:00
crypto.c Check file permissions in the check_format script 2018-10-04 23:08:12 +00:00
gpt test: fix typos in the test directory 2018-08-27 19:39:31 +00:00
mt mk: don't use '-include spdk/config.h' 2018-10-02 23:13:32 +00:00
part.c mk: don't use '-include spdk/config.h' 2018-10-02 23:13:32 +00:00
pmem test/unit: fix scan-build error in pmem ut 2018-09-05 17:21:03 +00:00
scsi_nvme.c bdev: move error union to internal spdk_bdev_io struct 2018-06-26 20:04:07 +00:00
vbdev_lvol.c blobstore: Introduce io_unit size to blobstore. 2018-09-14 22:46:27 +00:00
Makefile bdev: Add crypto virtual bdev module 2018-09-17 21:23:14 +00:00