On Wed, Jan 30, 2019 at 03:46:45AM +0000, Chaitanya Kulkarni wrote:
> Thanks for the test Liu, please see my inline comments.
>
> From: [email protected] <[email protected]>
> on behalf of Liu Bo <[email protected]>
> Sent: Tuesday, January 29, 2019 3:54 PM
> To: [email protected]
> Subject: [PATCH blktests] block: add test for io hang due to blk-iolatency
>
> Add test for verifying io hang when enabling blk-iolatency after a few
> IOs have been done.
>
> This is a regression test for
> "blk-iolatency: fix IO hang due to negative inflight counter".
>
> Signed-off-by: Liu Bo <[email protected]>
> ---
> tests/block/022 | 42 ++++++++++++++++++++++++++++++++++++++++++
> tests/block/022.out | 2 ++
> 2 files changed, 44 insertions(+)
> create mode 100755 tests/block/022
> create mode 100644 tests/block/022.out
>
> diff --git a/tests/block/022 b/tests/block/022
> new file mode 100755
> index 0000000..6e5ab42
> --- /dev/null
> +++ b/tests/block/022
> @@ -0,0 +1,42 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: GPL-3.0+
> +# Copyright (C) 2019 Bo Liu <[email protected]>
> +#
> +# This test is a regression test for io hang due to blk-iolatency, the patch
> is
> +# "blk-iolatency: fix IO hang due to negative inflight counter"
> +
> +. tests/block/rc
> +. common/cgroup
> +. common/null_blk
> +DESCRIPTION="This test will demonstrate io hang due to blk-iolatency"
> +
> +requires() {
> + _have_null_blk && _have_cgroup2_controller_file io io.latency
> need to add _have_program xfs_io here.
OK.
> +}
> +
> +test() {
> + local CGROUP2_DIR
> + local dir
> + echo "Running ${TEST_NAME}"
> +
> + if ! _init_null_blk queue_mode=2; then
> may be print a error message here and/or skip the test instred of just return
> ?
Sure.
> + return 1
> + fi
> +
> + _init_cgroup2
> + dir=$(_cgroup2_base_dir)
> +
> I'm little bit confused, CGROUP2_DIR is not initialize or its an environment
> variable ?
It's defined in _init_cgroup2, but I'll add a comment for that.
thanks,
-liubo
> + echo $$ > ${CGROUP2_DIR}/cgroup.procs
> + xfs_io -f -d -c "pwrite 0 4k" /dev/nullb0
> +
> + # target=1s
> + echo "`cat /sys/block/nullb0/dev` target=1000000" >
> ${CGROUP2_DIR}/io.latency
> +
> + xfs_io -f -d -c "pwrite 0 4k" /dev/nullb0
> +
> + echo $$ > ${dir}/cgroup.procs
> + _exit_cgroup2
> + _exit_null_blk
> +
> + echo "Test complete"
> +}
> diff --git a/tests/block/022.out b/tests/block/022.out
> new file mode 100644
> index 0000000..14d43cb
> --- /dev/null
> +++ b/tests/block/022.out
> @@ -0,0 +1,2 @@
> +Running block/022
> +Test complete
> --
> 2.20.1.2.gb21ebb6
>