From: Bart Van Assche <bvanassche@acm.org>
To: Omar Sandoval <osandov@osandov.com>
Cc: "jthumshirn@suse.de" <jthumshirn@suse.de>,
"osandov@fb.com" <osandov@fb.com>,
"msnitzer@redhat.com" <msnitzer@redhat.com>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: [PATCH blktests 0/3] Add NVMeOF multipath tests
Date: Thu, 27 Sep 2018 16:26:42 -0700 [thread overview]
Message-ID: <1538090802.226558.17.camel@acm.org> (raw)
In-Reply-To: <20180919001815.GF479@vader>
On Tue, 2018-09-18 at 17:18 -0700, Omar Sandoval wrote:
> On Tue, Sep 18, 2018 at 05:02:47PM -0700, Bart Van Assche wrote:
> > On 9/18/18 4:24 PM, Omar Sandoval wrote:
> > > On Tue, Sep 18, 2018 at 02:20:59PM -0700, Bart Van Assche wrote:
> > > > Can you have a look at the updated master branch of
> > > > https://github.com/bvanassche/blktests? That code should no longer fail if
> > > > unloading the nvme kernel module fails. Please note that you will need
> > > > kernel v4.18 to test these scripts - a KASAN complaint appears if I run
> > > > these tests against kernel v4.19-rc4.
> > >
> > > Thanks, these pass now. Is it expected that my nvme device gets a
> > > multipath device configured after running these tests?
> > >
> > > $ lsblk
> > > NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
> > > vda 254:0 0 16G 0 disk
> > > └─vda1 254:1 0 16G 0 part /
> > > vdb 254:16 0 8G 0 disk
> > > vdc 254:32 0 8G 0 disk
> > > vdd 254:48 0 8G 0 disk
> > > nvme0n1 259:0 0 8G 0 disk
> > > └─mpatha 253:0 0 8G 0 mpath
> >
> > No, all multipath devices that were created during a test should be removed
> > before that test finishes. I will look into this.
> >
> > > Also, can you please fix:
> > >
> > > _have_kernel_option NVME_MULTIPATH && exit 1
> > >
> > > to not exit on failure? It should use SKIP_REASON and return 1. You
> > > might need to add something like _dont_have_kernel_option to properly
> > > handle the case where the config is not found.
> >
> > OK, I will change this.
> >
> > > Side note which isn't a blocker for merging is that there's a lot of
> > > duplicated code between these helpers and the srp helpers. How hard
> > > would it be to refactor that?
> >
> > Are you perhaps referring to the code that is shared between the
> > tests/srp/rc tests/nvmeof-mp/rc shell scripts?
>
> Yes, those.
>
> > The hardest part is probably
> > to chose a location where to store these functions. Should I create a file
> > with common code under common/, under tests/srp/, under tests/nvmeof-mp/ or
> > perhaps somewhere else?
>
> Just put it under common.
Hi Omar,
All feedback mentioned above has been addressed. The following pull request has
been updated: https://github.com/osandov/blktests/pull/33. Please let me know
if you want me to post these patches on the linux-block mailing list.
Note: neither the upstream kernel v4.18 nor v4.19-rc4 are stable enough to pass
all nvmeof-mp tests if kernel debugging options like KASAN are enabled.
Additionally, the NVMe device_add_disk() race condition often causes multipathd
to refuse to consider /dev/nvme... devices. The output on my test setup is as
follows (all tests pass):
# ./check -q nvmeof-mp
nvmeof-mp/001 (Log in and log out) [passed]
runtime 1.528s ... 1.909s
nvmeof-mp/002 (File I/O on top of multipath concurrently with logout and login (mq)) [
passed]time 38.968s ...
runtime 38.968s ... 38.571s
nvmeof-mp/004 (File I/O on top of multipath concurrently with logout and login (sq-on-
nvmeof-mp/004 (File I/O on top of multipath concurrently with logout and login (sq-on-
mq)) [passed]38.632s ...
runtime 38.632s ... 37.529s
nvmeof-mp/005 (Direct I/O with large transfer sizes and bs=4M) [passed]
runtime 13.382s ... 13.684s
nvmeof-mp/006 (Direct I/O with large transfer sizes and bs=8M) [passed]
runtime 13.511s ... 13.480s
nvmeof-mp/009 (Buffered I/O with large transfer sizes and bs=4M) [passed]
runtime 13.665s ... 13.763s
nvmeof-mp/010 (Buffered I/O with large transfer sizes and bs=8M) [passed]
runtime 13.442s ... 13.900s
nvmeof-mp/011 (Block I/O on top of multipath concurrently with logout and login) [pass
ed] runtime 37.988s ...
runtime 37.988s ... 37.945s
nvmeof-mp/012 (dm-mpath on top of multiple I/O schedulers) [passed]
runtime 21.659s ... 21.733s
Thanks,
Bart.
next prev parent reply other threads:[~2018-09-28 5:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20180815203728.19521-1-bart.vanassche@wdc.com>
[not found] ` <20180815203728.19521-4-bart.vanassche@wdc.com>
2018-08-17 14:24 ` [PATCH blktests 3/3] Add NVMeOF dm-mpath tests Mike Snitzer
2018-08-17 15:46 ` Bart Van Assche
2018-08-17 16:04 ` Mike Snitzer
[not found] ` <20180820073059.quvg3bh4ngv5ka4x@linux-x5ow.site>
[not found] ` <ee851ae7b88a93b9b5c9f1b0c6e206944c0b3c64.camel@wdc.com>
[not found] ` <20180821064619.7tyhlst74qkrw4fi@linux-x5ow.site>
2018-08-23 1:53 ` [PATCH blktests 0/3] Add NVMeOF multipath tests Bart Van Assche
2018-08-24 0:21 ` Omar Sandoval
2018-09-13 1:06 ` Omar Sandoval
2018-09-16 4:28 ` Bart Van Assche
2018-09-18 21:20 ` Bart Van Assche
2018-09-18 23:24 ` Omar Sandoval
2018-09-19 0:02 ` Bart Van Assche
2018-09-19 0:18 ` Omar Sandoval
2018-09-27 23:26 ` Bart Van Assche [this message]
2018-10-05 18:50 ` Omar Sandoval
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=1538090802.226558.17.camel@acm.org \
--to=bvanassche@acm.org \
--cc=jthumshirn@suse.de \
--cc=linux-block@vger.kernel.org \
--cc=msnitzer@redhat.com \
--cc=osandov@fb.com \
--cc=osandov@osandov.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).