[PATCH blktests v3 10/12] nvme/rc: Calculate IO size for random fio jobs

Daniel Wagner
2023-05-03T08:04:11Z

_nvme_calc_run_io_size() returns the jobs size for _run_fio_rand_io()
function. The jobs size is the size per job, thus we have to divide
through the number of CPUs.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
---
tests/nvme/045 | 4 +++-
tests/nvme/047 | 6 ++++--
tests/nvme/rc | 10 ++++++++++
3 files changed, 17 insertions(+), 3 deletions(-)

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 0b4d5f6570d6..268418e5b3e0 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -150,6 +150,16 @@ _test_dev_nvme_nsid() {
cat "${TEST_DEV_SYSFS}/nsid"
}

+_nvme_calc_rand_io_size() {
+ local img_size_mb
+ local io_size_kb
+
+ img_size_mb="$(convert_to_mb "$1")"
+ io_size_kb="$(((img_size_mb * 1024) / $(OMP_THREAD_LIMIT=32 nproc)))"
+
+ echo "${io_size_kb}k"
+}
+
_nvme_fcloop_add_rport() {
local local_wwnn="$1"
local local_wwpn="$2"
--
2.40.0