reduce: increase REDUCE_MAX_IOVECS to 33

A recent change to the bdevio test changed one of the
tests from a 30x4K IO to a 30xLBA IO.

This has started giving us nightly test failures (see
issue #2499).  It is because now the 30 * LBA (512B)
is 15KB which all fits within one 16KiB reduce chunk,
yet we only allocate REDUCE_MAX_IOVS
(17) iovs per reduce IO context.  Previously when
they were 4KiB each, we would only need 4 iovecs
(16KiB / 4KiB).

We may need to think through this a bit more, to
make this more dynamic (based on the chunk size
and underlying block size), but for now let's at
least increase this enough to handle the most
common 16KiB chunk / 512B LBA case.

While here, run bdevio as part of per-patch testing,
that would have helped us catch this issue before the
a6e022463 patch got merged.

Fixes #2499.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I2140c5b9d038b202edfdcbb2bfee059140f7703a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12672
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Jim Harris 2022-04-19 12:45:51 +00:00 committed by Tomasz Zawadzki
parent 2874d8ff8f
commit 081d8a8458
2 changed files with 2 additions and 2 deletions

View File

@ -41,7 +41,7 @@
#include "spdk/uuid.h"
#define REDUCE_MAX_IOVECS 17
#define REDUCE_MAX_IOVECS 33
/**
* Describes the parameters of an spdk_reduce_vol.

View File

@ -86,9 +86,9 @@ mkdir -p /tmp/pmem
run_bdevperf 32 4096 3
run_bdevperf 32 4096 3 512
run_bdevperf 32 4096 3 4096
run_bdevio
if [ $RUN_NIGHTLY -eq 1 ]; then
run_bdevio
run_bdevperf 64 16384 30
# run perf on nvmf target w/compressed vols