mbox series

[blktests,v6,0/2] test queue count changes on reconnect

Message ID 20230406083050.19246-1-dwagner@suse.de (mailing list archive)
Headers show
Series test queue count changes on reconnect | expand

Message

Daniel Wagner April 6, 2023, 8:30 a.m. UTC
The target is allowed to change the number of i/o queues. Test if the
host is able to reconnect in this scenario.

I've incorperated Chaitanya's feedback and also optimized the runtime for the
good and the bad case (rdma started to fail today, something to fix). Before it
run for rougly 25 seconds when everytying was okay.

  # nvme_trtype=rdma ./check nvme/048
  nvme/048 (Test queue count changes on reconnect)             [failed]
      runtime  6.488s  ...  6.404s
      --- tests/nvme/048.out      2023-04-06 09:38:29.574194562 +0200
      +++ /home/wagi/work/blktests/results/nodev/nvme/048.out.bad 2023-04-06 10:09:47.692036702 +0200
      @@ -1,3 +1,11 @@
       Running nvme/048
      -NQN:blktests-subsystem-1 disconnected 1 controller(s)
      +grep: /sys/class/nvme-fabrics/ctl//state: No such file or directory
      +grep: /sys/class/nvme-fabrics/ctl//state: No such file or directory
      +grep: /sys/class/nvme-fabrics/ctl//state: No such file or directory
      +grep: /sys/class/nvme-fabrics/ctl//state: No such file or directory
      +grep: /sys/class/nvme-fabrics/ctl//state: No such file or directory
      ...
      (Run 'diff -u tests/nvme/048.out /home/wagi/work/blktests/results/nodev/nvme/048.out.bad' to see the entire diff)
  # nvme_trtype=tcp ./check nvme/048
  nvme/048 (Test queue count changes on reconnect)             [passed]
      runtime  6.350s  ...  6.227s
  
This version is based on my previous posted nvme/047 patches [1]

[1] https://lore.kernel.org/linux-nvme/20230329090202.8351-1-dwagner@suse.de/

v6:
 - moved generic rc bits back into test case
 - added checks to fail early
 - added timeout values parser for connect call
 - reduced timeouts (runtime reduction for good and bad case)
 - fixed shellcheck warnings
v5:
 - moved generic parts to nvme/rc
 - renamed test to 048
 - rebased ontop of nvme/047
 - https://lore.kernel.org/linux-nvme/20230405154630.16298-1-dwagner@suse.de/
v4:
 - do not remove ports instead depend on host removing
   controllers, see
   https://lore.kernel.org/linux-nvme/20220927143157.3659-1-dwagner@suse.de/
 - https://lore.kernel.org/linux-nvme/20220927143719.4214-1-dwagner@suse.de/
v3:
 - Added comment why at least 2 CPUs are needed for the test
 - Fixed shell quoting in _set_nvmet_attr_qid_max
 - https://lore.kernel.org/linux-nvme/20220913065758.134668-1-dwagner@suse.de/
v2:
 - detect if attr_qid_max is available
 - https://lore.kernel.org/linux-block/20220831153506.28234-1-dwagner@suse.de/
v1:
 - https://lore.kernel.org/linux-block/20220831120900.13129-1-dwagner@suse.de/

Daniel Wagner (2):
  nvme/rc: Add timeout argument parsing to _nvme_connect_subsys()
  nvme/048: test queue count changes on reconnect

 tests/nvme/048     | 125 +++++++++++++++++++++++++++++++++++++++++++++
 tests/nvme/048.out |   3 ++
 tests/nvme/rc      |  24 +++++++++
 3 files changed, 152 insertions(+)
 create mode 100755 tests/nvme/048
 create mode 100644 tests/nvme/048.out

Comments

Daniel Wagner April 6, 2023, 9:10 a.m. UTC | #1
On Thu, Apr 06, 2023 at 10:30:48AM +0200, Daniel Wagner wrote:
> good and the bad case (rdma started to fail today, something to fix).

After adding the missing _nvmet_setup() call, tcp and rdma works fine.
Shin'ichiro Kawasaki April 10, 2023, 6:06 a.m. UTC | #2
On Apr 06, 2023 / 11:10, Daniel Wagner wrote:
> On Thu, Apr 06, 2023 at 10:30:48AM +0200, Daniel Wagner wrote:
> > good and the bad case (rdma started to fail today, something to fix).
> 
> After adding the missing _nvmet_setup() call, tcp and rdma works fine.

I also confirmed this. I observed test pass with tcp and rdma. Good. Still
lockdep warning is observed and fc transport causes system hang, but I think
those issues should be fixed after applying the patches to blktests master.

I walked through the patches and they look good enough to apply for me. I will
wait a few more days in case anyone has more comments. If there is no more
comments, no need to post v7. I will add the missing _setup_nvmet() and replace
the spaces in the 2nd patch.
Shin'ichiro Kawasaki April 12, 2023, 12:24 p.m. UTC | #3
On Apr 10, 2023 / 15:06, Shin'ichiro Kawasaki wrote:
> On Apr 06, 2023 / 11:10, Daniel Wagner wrote:
> > On Thu, Apr 06, 2023 at 10:30:48AM +0200, Daniel Wagner wrote:
> > > good and the bad case (rdma started to fail today, something to fix).
> > 
> > After adding the missing _nvmet_setup() call, tcp and rdma works fine.
> 
> I also confirmed this. I observed test pass with tcp and rdma. Good. Still
> lockdep warning is observed and fc transport causes system hang, but I think
> those issues should be fixed after applying the patches to blktests master.
> 
> I walked through the patches and they look good enough to apply for me. I will
> wait a few more days in case anyone has more comments. If there is no more
> comments, no need to post v7. I will add the missing _setup_nvmet() and replace
> the spaces in the 2nd patch.

I've applied this series with the edits. Thanks!