[PATCH blktests v2 0/9] nvme testsuite runtime optimization

Daniel Wagner dwagner at suse.de
Thu Apr 20 11:31:09 PDT 2023


Refactored v1 into more smaller bits and fixed a bunch of bugs alongside. For
example the fio jobs size for rand rw used --jobs=$(nproc) which needs to fit
with the test device size.

The loop transport runs a few more test but the largest contributer why it runs
so much longer are the iteratons in 002. So I made them also configurable.

nvme_num_iter=100 nvme_img_size=350M (new defaults)

loop
  real    4m3.524s
  user    0m7.931s
  sys     1m35.871s

rdma
  real    4m20.559s
  user    0m8.895s
  sys     1m5.714s

tcp
  real    3m55.292s
  user    0m8.654s
  sys     1m15.314s

fc
  real    3m18.977s
  user    0m8.868s
  sys     0m58.655s

nvme_num_iter=1000 nvme_img_size=1G (previous/ defaults)

loop
  real    8m22.109s
  user    0m27.582s
  sys     3m0.484s

rdma
  real    9m1.784s
  user    0m14.274s
  sys     2m5.479s

tcp
  real    8m28.443s
  user    0m13.952s
  sys     2m55.544s

fc
  real    6m24.426s
  user    0m13.944s
  sys     2m2.489s

The fc tests are bit faster because some of them are failing.

changes:
v2:
  - made image size configurable via nvme_img_size env
  - make number of iteration configurable via nvme_num_iter
	- do not hard code test values
  - calculate job size
	- use runtime for fio background jobs

v1:
  - initial version
  - https://lore.kernel.org/linux-nvme/20230419085643.25714-1-dwagner@suse.de/

Daniel Wagner (9):
  nvme-rc: Auto convert test device size info
  nvme: Do not hard code device size for dd test
  common-xfs: Make size argument optional for _xfs_run_fio_verify_io
  nvme: Use runtime fio background jobs
  nvme: Make test image size configurable
  nvme-rc: Add minimal test image size requirement
  nvme-rc: Calculate IO size for fio jobs
  nvme-rc: Move discovery generation counter code to rc
  nvme: Make the number iterations configurable

 common/rc          |   30 +-
 common/xfs         |    6 +
 tests/nvme/002     |    6 +-
 tests/nvme/002.out | 3004 --------------------------------------------
 tests/nvme/004     |    2 +-
 tests/nvme/005     |    2 +-
 tests/nvme/006     |    2 +-
 tests/nvme/007     |    2 +-
 tests/nvme/008     |    2 +-
 tests/nvme/009     |    2 +-
 tests/nvme/010     |    6 +-
 tests/nvme/011     |    6 +-
 tests/nvme/012     |    5 +-
 tests/nvme/013     |    5 +-
 tests/nvme/014     |   12 +-
 tests/nvme/015     |   12 +-
 tests/nvme/016     |    2 +-
 tests/nvme/017     |    4 +-
 tests/nvme/018     |    2 +-
 tests/nvme/019     |    2 +-
 tests/nvme/020     |    2 +-
 tests/nvme/021     |    2 +-
 tests/nvme/022     |    2 +-
 tests/nvme/023     |    2 +-
 tests/nvme/024     |    2 +-
 tests/nvme/025     |    2 +-
 tests/nvme/026     |    2 +-
 tests/nvme/027     |    2 +-
 tests/nvme/028     |    2 +-
 tests/nvme/029     |    2 +-
 tests/nvme/030     |   22 +-
 tests/nvme/031     |    2 +-
 tests/nvme/032     |    6 +-
 tests/nvme/034     |    4 +-
 tests/nvme/035     |    4 +-
 tests/nvme/040     |    9 +-
 tests/nvme/041     |    2 +-
 tests/nvme/042     |    2 +-
 tests/nvme/043     |    2 +-
 tests/nvme/044     |    2 +-
 tests/nvme/045     |    6 +-
 tests/nvme/047     |    8 +-
 tests/nvme/048     |    2 +-
 tests/nvme/rc      |   50 +
 44 files changed, 176 insertions(+), 3079 deletions(-)

-- 
2.40.0




More information about the Linux-nvme mailing list