Introduce two new function to calculate the IO size for fio jobs. _nvme_calc_io_size() returns the jobs size for _run_fio_verify_io() function. Reduce the max size of the job by one megabyte to make the test more robust not to run out of space by accident. Note these fio calls run with just one jobs. _nvme_calc_run_io_size() returns the jobs size for _run_fio_rand_io() function. Again, the jobs size is not maxing out the space and most important it takes the number of jobs into account which are created (number of CPUs). Signed-off-by: Daniel Wagner <dwagner@xxxxxxx> --- tests/nvme/010 | 5 +++-- tests/nvme/011 | 5 +++-- tests/nvme/032 | 6 ++++-- tests/nvme/034 | 4 +++- tests/nvme/040 | 4 +++- tests/nvme/045 | 4 +++- tests/nvme/047 | 6 ++++-- tests/nvme/rc | 20 ++++++++++++++++++++ 8 files changed, 43 insertions(+), 11 deletions(-) diff --git a/tests/nvme/010 b/tests/nvme/010 index 805f80d40620..d209335c2158 100755 --- a/tests/nvme/010 +++ b/tests/nvme/010 @@ -25,6 +25,7 @@ test() { local loop_dev local file_path="${TMPDIR}/img" local subsys_name="blktests-subsystem-1" + local io_size truncate -s "${nvme_img_size}" "${file_path}" @@ -41,8 +42,8 @@ test() { cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" - _run_fio_verify_io --size=${nvme_img_size} \ - --filename="/dev/${nvmedev}n1" + io_size="$(_nvme_calc_io_size "${nvme_img_size}")" + _run_fio_verify_io --size="${io_size}" --filename="/dev/${nvmedev}n1" _nvme_disconnect_subsys "${subsys_name}" diff --git a/tests/nvme/011 b/tests/nvme/011 index da8cbac11124..294ba4333aff 100755 --- a/tests/nvme/011 +++ b/tests/nvme/011 @@ -25,6 +25,7 @@ test() { local file_path local file_path="${TMPDIR}/img" local subsys_name="blktests-subsystem-1" + local io_size truncate -s "${nvme_img_size}" "${file_path}" @@ -39,8 +40,8 @@ test() { cat "/sys/block/${nvmedev}n1/uuid" cat "/sys/block/${nvmedev}n1/wwid" - _run_fio_verify_io --size="${nvme_img_size}" \ - --filename="/dev/${nvmedev}n1" + io_size="$(_nvme_calc_io_size "${nvme_img_size}")" + _run_fio_verify_io --size="${io_size}" --filename="/dev/${nvmedev}n1" _nvme_disconnect_subsys "${subsys_name}" diff --git a/tests/nvme/032 b/tests/nvme/032 index 9f9756b0f959..ad701cea877d 100755 --- a/tests/nvme/032 +++ b/tests/nvme/032 @@ -33,13 +33,15 @@ test_device() { local sysfs local attr local m + local rand_io_size pdev="$(_get_pci_dev_from_blkdev)" sysfs="/sys/bus/pci/devices/${pdev}" # start fio job - _run_fio_rand_io --filename="$TEST_DEV" --size="${nvme_img_size}" \ - --group_reporting --time_based --runtime=1m &> /dev/null & + rand_io_size="$(_nvme_calc_rand_io_size "${nvme_img_size}")" + _run_fio_rand_io --filename="$TEST_DEV" --size="${rand_io_size}" \ + --group_reporting --time_based --runtime=1m > /dev/null & sleep 5 diff --git a/tests/nvme/034 b/tests/nvme/034 index e0ede717c373..0df8bef98e5e 100755 --- a/tests/nvme/034 +++ b/tests/nvme/034 @@ -19,6 +19,7 @@ test_device() { local ctrldev local nsdev local port + local io_size echo "Running ${TEST_NAME}" @@ -26,7 +27,8 @@ test_device() { port=$(_nvmet_passthru_target_setup "${subsys}") nsdev=$(_nvmet_passthru_target_connect "${nvme_trtype}" "${subsys}") - _run_fio_verify_io --size="${nvme_img_size}" --filename="${nsdev}" + io_size="$(_nvme_calc_io_size "${nvme_img_size}")" + _run_fio_verify_io --size="${io_size}" --filename="${nsdev}" _nvme_disconnect_subsys "${subsys}" _nvmet_passthru_target_cleanup "${port}" "${subsys}" diff --git a/tests/nvme/040 b/tests/nvme/040 index 31b7cafef4be..b033a2a866f2 100755 --- a/tests/nvme/040 +++ b/tests/nvme/040 @@ -21,6 +21,7 @@ test() { local port local loop_dev local nvmedev + local rand_io_size echo "Running ${TEST_NAME}" @@ -37,7 +38,8 @@ test() { # start fio job echo "starting background fio" - _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${nvme_img_size}" \ + rand_io_size="$(_nvme_calc_rand_io_size "${nvme_img_size}")" + _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}" \ --group_reporting --ramp_time=5 \ --time_based --runtime=1m &> /dev/null & sleep 5 diff --git a/tests/nvme/045 b/tests/nvme/045 index 99012f6bed8f..f50087cccb6a 100755 --- a/tests/nvme/045 +++ b/tests/nvme/045 @@ -31,6 +31,7 @@ test() { local ctrlkey local new_ctrlkey local ctrldev + local rand_io_size echo "Running ${TEST_NAME}" @@ -120,7 +121,8 @@ test() { nvmedev=$(_find_nvme_dev "${subsys_name}") - _run_fio_rand_io --size=4m --filename="/dev/${nvmedev}n1" + rand_io_size="$(_nvme_calc_rand_io_size 4m)" + _run_fio_rand_io --size="${rand_io_size}" --filename="/dev/${nvmedev}n1" _nvme_disconnect_subsys "${subsys_name}" diff --git a/tests/nvme/047 b/tests/nvme/047 index b5a8d469a983..6a7599bc2e91 100755 --- a/tests/nvme/047 +++ b/tests/nvme/047 @@ -25,6 +25,7 @@ test() { local port local nvmedev local loop_dev + local rand_io_size local file_path="$TMPDIR/img" local subsys_name="blktests-subsystem-1" @@ -42,7 +43,8 @@ test() { nvmedev=$(_find_nvme_dev "${subsys_name}") - _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL + rand_io_size="$(_nvme_calc_rand_io_size 4M)" + _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}" _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 @@ -50,7 +52,7 @@ test() { --nr-write-queues 1 \ --nr-poll-queues 1 || echo FAIL - _xfs_run_fio_verify_io /dev/"${nvmedev}n1" "1m" || echo FAIL + _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size="${rand_io_size}" _nvme_disconnect_subsys "${subsys_name}" >> "$FULL" 2>&1 diff --git a/tests/nvme/rc b/tests/nvme/rc index b1f2dacae125..172f510527ed 100644 --- a/tests/nvme/rc +++ b/tests/nvme/rc @@ -150,6 +150,26 @@ _test_dev_nvme_nsid() { cat "${TEST_DEV_SYSFS}/nsid" } +_nvme_calc_io_size() { + local img_size_mb + local io_size_mb + + img_size_mb="$(convert_to_mb "$1")" + io_size_mb="$((img_size_mb - 1))" + + echo "${io_size_mb}m" +} + +_nvme_calc_rand_io_size() { + local img_size_mb + local io_size_mb + + img_size_mb="$(convert_to_mb "$1")" + io_size_mb="$(printf "%d" $((((img_size_mb * 1024 * 1024) / $(nproc) - 1) / 1024)))" + + echo "${io_size_mb}k" +} + _nvme_fcloop_add_rport() { local local_wwnn="$1" local local_wwpn="$2" -- 2.40.0