All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Fomichev <Dmitry.Fomichev@wdc.com>
To: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Cc: Jens Axboe <axboe@kernel.dk>,
	"fio@vger.kernel.org" <fio@vger.kernel.org>,
	Aravind Ramesh <Aravind.Ramesh@wdc.com>,
	Bart Van Assche <bvanassche@acm.org>,
	Naohiro Aota <Naohiro.Aota@wdc.com>,
	Niklas Cassel <Niklas.Cassel@wdc.com>,
	Damien Le Moal <Damien.LeMoal@wdc.com>
Subject: RE: [PATCH v2 33/36] t/zbd: add test #54 to exercise ZBD verification
Date: Mon, 4 Jan 2021 23:58:49 +0000	[thread overview]
Message-ID: <MN2PR04MB595167564ED214181EB4CD15E1D20@MN2PR04MB5951.namprd04.prod.outlook.com> (raw)
In-Reply-To: <20201229054235.t5cytdxhx3hpk3r3@shindev.dhcp.fujisawa.hgst.com>

Shinichiro,

> -----Original Message-----
> From: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
> Sent: Tuesday, December 29, 2020 12:43 AM
> To: Dmitry Fomichev <Dmitry.Fomichev@wdc.com>
> Cc: Jens Axboe <axboe@kernel.dk>; fio@vger.kernel.org; Aravind Ramesh
> <Aravind.Ramesh@wdc.com>; Bart Van Assche <bvanassche@acm.org>;
> Naohiro Aota <Naohiro.Aota@wdc.com>; Niklas Cassel
> <Niklas.Cassel@wdc.com>; Damien Le Moal <Damien.LeMoal@wdc.com>
> Subject: Re: [PATCH v2 33/36] t/zbd: add test #54 to exercise ZBD verification
> 
> On Dec 24, 2020 / 11:12, Dmitry Fomichev wrote:
> > Add a new test case to perform 75/25 read/write workload with varying
> > i/o size and verification on. It is very important to use a good random
> > generator for this test. Setting experimental_verify=1 is required for
> > this test to operate correctly.
> >
> > Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
> > ---
> >  t/zbd/test-zbd-support | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> >
> > diff --git a/t/zbd/test-zbd-support b/t/zbd/test-zbd-support
> > index 0b8015df..94c92e26 100755
> > --- a/t/zbd/test-zbd-support
> > +++ b/t/zbd/test-zbd-support
> > @@ -1135,6 +1135,24 @@ test53() {
> >  	return 1
> >  }
> >
> > +# Test read/write mix with verify.
> > +test54() {
> > +	require_zbd || return $SKIP_TESTCASE
> > +	require_seq_zones 8 || return $SKIP_TESTCASE
> > +
> > +	run_fio --name=job --filename=${dev} --ioengine=libaio \
> 
> I think --ioengine=libaio should be $(ioengine "libaio"), or test-zbd-support
> script run with -l option with sg node will fail.

Thanks for pointing this out - yes, ioengine selection should be conditional.
I am going to send the v3 of the patch series with this change and the other
one that you discovered which is also related to libzbc ioengine.

While looking at this, I've also found that libzbc ioengine doesn't work with
null_blk devices. There is a very trivial fix in the ioengine code allowing libzbc
block backend to pick up and handle i/o to null_blk provided that device zone
capacity is the same as the zone size. I am going to enable this functionality
in the v3 and to modify run-io-against-nullb script to have the -l (libzbc) option,
similar to test-zbd-support script.

Regards,
Dmitry

> 
> --
> Best Regards,
> Shin'ichiro Kawasaki
> 
> > +		--time_based=1 --runtime=30s --continue_on_error=0 \
> > +		--offset=$((first_sequential_zone_sector * 512)) \
> > +		--size=$((8*zone_size)) --direct=1 --iodepth=1 \
> > +		--rw=randrw:2 --rwmixwrite=25 --bsrange=4k-${zone_size} \
> > +		--zonemode=zbd --zonesize=${zone_size} \
> > +		--verify=crc32c --do_verify=1 --verify_backlog=2 \
> > +		--experimental_verify=1 \
> > +		--alloc-size=65536 --random_generator=tausworthe64 \
> > +		${job_var_opts[@]} --debug=zbd \
> > +		>> "${logfile}.${test_number}" 2>&1 || return $?
> > +}
> > +
> >  tests=()
> >  dynamic_analyzer=()
> >  reset_all_zones=
> > --
> > 2.28.0
> >


  reply	other threads:[~2021-01-04 23:58 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-24  2:11 [PATCH v2 00/36] ZBD fixes and improvements Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 01/36] zbd: return ENOMEM if zone buffer allocation fails Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 02/36] zbd: use zbd_zone_nr() more actively in the code Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 03/36] zbd: add get_zone() helper function Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 04/36] zbd: introduce zone_unlock() Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 05/36] zbd: engines/libzbc: don't fail on assert for offline zones Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 06/36] zbd: remove dependency on zone type during i/o Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 07/36] zbd: skip offline zones in zbd_convert_to_open_zone() Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 08/36] zbd: avoid zone buffer overrun Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 09/36] zbd: don't unlock zone mutex after verify replay Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 10/36] zbd: do not lock conventional zones on I/O adjustment Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 11/36] zbd: do not set zbd handlers for conventional zones Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 12/36] zbd: count sectors with data for write pointer zones Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 13/36] zbd: initialize min_zone and max_zone for all zone types Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 14/36] zbd: initialize sectors with data at start time Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 15/36] zbd: use zone_lock() in zbd_process_swd() Dmitry Fomichev
2020-12-24  2:11 ` [PATCH v2 16/36] zbd: disable crossing from conventional to sequential zones Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 17/36] zbd: don't log "zone nnnn is not open" message Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 18/36] zbd: handle conventional start zone in zbd_convert_to_open_zone() Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 19/36] zbd: improve replay range validation Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 20/36] zbd: set thread errors in zbd_adjust_block() Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 21/36] t/zbd: check for error in test #2 Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 22/36] t/zbd: add run-tests-against-nullb script Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 23/36] t/zbd: add -t option to run-tests-against-nullb Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 24/36] t/zbd: skip tests when test prerequisites are not met Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 25/36] t/zbd: skip tests that need too many sequential zones Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 26/36] t/zbd: test that conventional zones are not locked during random i/o Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 27/36] t/zbd: test that zone_reset_threshold calculation is correct Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 28/36] t/zbd: test random I/O direction in all-conventional case Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 29/36] t/zbd: fix wrong units in test case #37 Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 30/36] t/zbd: add an option to bail on a failed test Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 31/36] t/zbd: prevent test #31 from looping Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 32/36] t/zbd: add checks for offline zone condition Dmitry Fomichev
2020-12-29  5:38   ` Shinichiro Kawasaki
2020-12-24  2:12 ` [PATCH v2 33/36] t/zbd: add test #54 to exercise ZBD verification Dmitry Fomichev
2020-12-29  5:42   ` Shinichiro Kawasaki
2021-01-04 23:58     ` Dmitry Fomichev [this message]
2020-12-24  2:12 ` [PATCH v2 34/36] t/zbd: show elapsed time in test-zbd-support Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 35/36] t/zbd: increase timeout in test #48 Dmitry Fomichev
2020-12-24  2:12 ` [PATCH v2 36/36] t/zbd: avoid looping on invalid command line options Dmitry Fomichev

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MN2PR04MB595167564ED214181EB4CD15E1D20@MN2PR04MB5951.namprd04.prod.outlook.com \
    --to=dmitry.fomichev@wdc.com \
    --cc=Aravind.Ramesh@wdc.com \
    --cc=Damien.LeMoal@wdc.com \
    --cc=Naohiro.Aota@wdc.com \
    --cc=Niklas.Cassel@wdc.com \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=fio@vger.kernel.org \
    --cc=shinichiro.kawasaki@wdc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.