Re: [PATCH blktests v3 05/12] nvme: Use runtime fio background jobs

Shinichiro Kawasaki
2023-05-07T22:58:14Z

On May 03, 2023 / 10:02, Daniel Wagner wrote:
> The fio jobs are supposed to run long in background during the test.
> Instead relying on a job size use explicit runtime for this.
>
> Signed-off-by: Daniel Wagner <dwagner@suse.de>
> ---
> tests/nvme/032 | 4 ++--
> tests/nvme/040 | 9 +++++++--

Nit: I suggest "nvme/{032,040}" as the commit title prefix.

> 2 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/tests/nvme/032 b/tests/nvme/032
> index 017d4a339971..2e4b7f0760c7 100755
> --- a/tests/nvme/032
> +++ b/tests/nvme/032
> @@ -38,8 +38,8 @@ test_device() {
> sysfs="/sys/bus/pci/devices/${pdev}"
>
> # start fio job
> - _run_fio_rand_io --filename="$TEST_DEV" --size=1g \
> - --group_reporting &> /dev/null &
> + _run_fio_rand_io --filename="$TEST_DEV" \
> + --group_reporting --time_based --runtime=-1 &> /dev/null &

Nit: I checked fio man page, and did not find meaning of negative value for the
--runtime option. I also checked fio code, it looks that -1 is handled as
ULONG_MAX by type cast from singed long long to unsigned long long. Assuming
such negative values for the options are not well defined, --runtime=1d or
--runtime=365d would be the better to mean 'infinite runtime'.

>
> sleep 5
>
> diff --git a/tests/nvme/040 b/tests/nvme/040
> index 04bd726cd309..05b4f5472ef5 100755
> --- a/tests/nvme/040
> +++ b/tests/nvme/040
> @@ -21,6 +21,7 @@ test() {
> local port
> local loop_dev
> local nvmedev
> + local fio_pid
>
> echo "Running ${TEST_NAME}"
>
> @@ -37,8 +38,10 @@ test() {
>
> # start fio job
> echo "starting background fio"
> - _run_fio_rand_io --filename="/dev/${nvmedev}n1" --size=1g \
> - --group_reporting --ramp_time=5 &> /dev/null &
> + _run_fio_rand_io --filename="/dev/${nvmedev}n1" \
> + --group_reporting --ramp_time=5 \
> + --time_based --runtime=-1 &> /dev/null &

Same as above.

> + fio_pid=$!
> sleep 5
>
> # do reset/remove operation
> @@ -48,6 +51,8 @@ test() {
> echo "deleting controller"
> _nvme_delete_ctrl "${nvmedev}"
>
> + { kill "${fio_pid}"; wait; } &> /dev/null
> +
> _remove_nvmet_subsystem_from_port "${port}" "${subsys}"
> _remove_nvmet_subsystem "${subsys}"
> _remove_nvmet_port "${port}"
> --
> 2.40.0
>