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

From: Daniel Wagner
Date: Thu Apr 20 2023 - 14:31:31 EST


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@xxxxxxx/

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