Re: [PATCH 3/3] generic: IO_URING direct IO fsx test

Brian Foster
2020-10-12T17:55:56Z

On Sun, Oct 11, 2020 at 08:15:20PM +0800, Zorro Lang wrote:
> On Fri, Oct 02, 2020 at 02:20:31PM -0400, Brian Foster wrote:
> > On Thu, Sep 17, 2020 at 01:14:43AM +0800, Zorro Lang wrote:
> > > After fsx supports IO_URING read/write, add IO_URING direct IO fsx
> > > test with different read/write size and concurrent buffered IO.
> > >
> > > Signed-off-by: Zorro Lang <zlang@redhat.com>
> > > ---
> > > tests/generic/610 | 52 +++++++++++++++++++++++++++++++++++++++++++
> > > tests/generic/610.out | 7 ++++++
> > > tests/generic/group | 1 +
> > > 3 files changed, 60 insertions(+)
> > > create mode 100755 tests/generic/610
> > > create mode 100644 tests/generic/610.out
> > >
> > > diff --git a/tests/generic/610 b/tests/generic/610
> > > new file mode 100755
> > > index 00000000..fc3f4c2a
> > > --- /dev/null
> > > +++ b/tests/generic/610
> > > @@ -0,0 +1,52 @@
> > > +#! /bin/bash
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +# Copyright (c) 2020 YOUR NAME HERE. All Rights Reserved.
> >
> > The copyright needs fixing.
> >
> > > +#
> > > +# FS QA Test 610
> > > +#
> > > +# IO_URING direct IO fsx test
> > > +#
> > > +seq=`basename $0`
> > > +seqres=$RESULT_DIR/$seq
> > > +echo "QA output created by $seq"
> > > +
> > > +here=`pwd`
> > > +tmp=/tmp/$$
> > > +status=1 # failure is the default!
> > > +trap "_cleanup; exit \$status" 0 1 2 3 15
> > > +
> > > +_cleanup()
> > > +{
> > > + cd /
> > > + rm -f $tmp.*
> > > +}
> > > +
> > > +# get standard environment, filters and checks
> > > +. ./common/rc
> > > +. ./common/filter
> > > +
> > > +# remove previous $seqres.full before test
> > > +rm -f $seqres.full
> > > +
> > > +# real QA test starts here
> > > +_supported_fs generic
> > > +_supported_os Linux
> > > +_require_test
> > > +_require_odirect
> > > +_require_io_uring
> > > +
> > > +psize=`$here/src/feature -s`
> > > +bsize=`_min_dio_alignment $TEST_DEV`
> > > +run_fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +
> > > +# change readbdy/writebdy to double page size
> > > +psize=$((psize * 2))
> > > +run_fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +run_fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > > +
> >
> > Can you elaborate on why PSIZE/BSIZE are used where they are for the
> > writebdy option? Also is -R intentionally dropped from the final test?
>
> Sure:) This test is copied from generic/091.
>

Hmm.. but generic/091 doesn't seem to use the same values and always
passes a writebdy of BSIZE (at least for the tests that aren't commented
out). It kind of looks like this tweaks some values across the board,
then randomly selects some of the commented and non-commented test
commands without any explanation.

Brian

> >
> > Brian
> >
> > > +# success, all done
> > > +status=0
> > > +exit
> > > diff --git a/tests/generic/610.out b/tests/generic/610.out
> > > new file mode 100644
> > > index 00000000..97ad41a3
> > > --- /dev/null
> > > +++ b/tests/generic/610.out
> > > @@ -0,0 +1,7 @@
> > > +QA output created by 610
> > > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 8192 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 256000 -l 600000 -r PSIZE -w PSIZE -Z -R -W
> > > +fsx -S 0 -U -N 20000 -o 128000 -l 600000 -r PSIZE -w BSIZE -Z -W
> > > diff --git a/tests/generic/group b/tests/generic/group
> > > index cf50f4a1..60280dc2 100644
> > > --- a/tests/generic/group
> > > +++ b/tests/generic/group
> > > @@ -612,3 +612,4 @@
> > > 607 auto attr quick dax
> > > 608 auto attr quick dax
> > > 609 auto rw io_uring
> > > +610 auto rw io_uring
> > > --
> > > 2.20.1
> > >
>