+1
−1
+17
−12
Loading
There are cases when a bdev module needs to limit the maximum size of an IO to a certain value (e.g. large iobuf if it needs to allocate a bounce buffer). Previously, this was covered by specifying optimal_io_boundary and setting the split_on_optimal_io_boundary flag. However, this can be inefficient, as it'll also split smaller requests that do not exceed the maximum size, but cross the boundary. For instance, with optimal_io_boundary=4, an IO with offset_blocks=3, num_blocks=2 will be split. To avoid that, a new field, max_rw_size, is introduced to allow for specifying the maximum size of an IO without taking into account offset_blocks. It only affects READ and WRITE requests, as other IO types are already controlled by other values (e.g. max_unmap, max_copy, max_write_zeroes). Signed-off-by:Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Idcafdeaf22a34f25aa599f03726caa9307949e1f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20584 Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by:
Jim Harris <jim.harris@samsung.com>