public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>, linux-block@vger.kernel.org
Cc: Caleb Sander Mateos <csander@purestorage.com>,
	Uday Shankar <ushankar@purestorage.com>,
	Alexander Atanasov <alex@zazolabs.com>,
	linux-kselftest@vger.kernel.org, Shuah Khan <shuah@kernel.org>,
	Ming Lei <ming.lei@redhat.com>
Subject: [PATCH 0/9] selftests: ublk: test infrastructure improvements
Date: Sun,  1 Feb 2026 00:23:31 +0800	[thread overview]
Message-ID: <20260131162342.13872-1-ming.lei@redhat.com> (raw)

Hi,

This series improves the ublk selftests infrastructure with better
organization and parallel test execution support.

Key improvements:

1. Infrastructure enhancements:
   - Add helper functions for device cleanup and parallel execution
   - Implement group-based test targets for running test subsets
   - Track created devices for proper per-test cleanup
   - Increase timeouts to accommodate parallel test execution
   - Test time can be reduced to 1/3 with parallel execution by passing JOBS=8

2. Test organization:
   - Reorganize tests into logical groups (integrity, recover)
   - Refactor large tests into modular functions for maintainability

3. I/O ordering verification:
   - Remove test_generic_01.sh prone to false positives from block layer reordering
   - Improve test_generic_02.sh with bpftrace-based verification
   - Use block_io_start/block_rq_complete tracepoints for accurate tracking

These changes make the test suite more maintainable, easier to run in parallel,
and more reliable in detecting actual ublk driver issues vs. false positives.


Ming Lei (9):
  selftests: ublk: simplify UBLK_TEST_DIR handling
  selftests: ublk: refactor test_loop_08 into separate functions
  selftests: ublk: add _ublk_del_dev helper function
  selftests: ublk: track created devices for per-test cleanup
  selftests: ublk: add group-based test targets
  selftests: ublk: add _ublk_sleep helper for parallel execution
  selftests: ublk: increase timeouts for parallel test execution
  selftests: ublk: reorganize tests into integrity and recover groups
  selftests: ublk: improve I/O ordering test with bpftrace

 tools/testing/selftests/ublk/Makefile         |  54 ++++++-
 tools/testing/selftests/ublk/test_common.sh   |  51 +++++--
 .../testing/selftests/ublk/test_generic_01.sh |  47 ------
 .../testing/selftests/ublk/test_generic_02.sh |  22 ++-
 .../testing/selftests/ublk/test_generic_16.sh |   4 +-
 .../{test_null_04.sh => test_integrity_01.sh} |   8 +-
 .../selftests/ublk/test_integrity_02.sh       | 141 ++++++++++++++++++
 tools/testing/selftests/ublk/test_loop_08.sh  | 110 --------------
 tools/testing/selftests/ublk/test_part_02.sh  |   6 +-
 ...{test_generic_04.sh => test_recover_01.sh} |   0
 ...{test_generic_05.sh => test_recover_02.sh} |   0
 ...{test_generic_11.sh => test_recover_03.sh} |   0
 ...{test_generic_14.sh => test_recover_04.sh} |   0
 tools/testing/selftests/ublk/trace/seq_io.bt  |  47 ++++--
 14 files changed, 284 insertions(+), 206 deletions(-)
 delete mode 100755 tools/testing/selftests/ublk/test_generic_01.sh
 rename tools/testing/selftests/ublk/{test_null_04.sh => test_integrity_01.sh} (96%)
 create mode 100755 tools/testing/selftests/ublk/test_integrity_02.sh
 delete mode 100755 tools/testing/selftests/ublk/test_loop_08.sh
 rename tools/testing/selftests/ublk/{test_generic_04.sh => test_recover_01.sh} (100%)
 rename tools/testing/selftests/ublk/{test_generic_05.sh => test_recover_02.sh} (100%)
 rename tools/testing/selftests/ublk/{test_generic_11.sh => test_recover_03.sh} (100%)
 rename tools/testing/selftests/ublk/{test_generic_14.sh => test_recover_04.sh} (100%)

-- 
2.47.0


             reply	other threads:[~2026-01-31 16:24 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-31 16:23 Ming Lei [this message]
2026-01-31 16:23 ` [PATCH 1/9] selftests: ublk: simplify UBLK_TEST_DIR handling Ming Lei
2026-01-31 16:23 ` [PATCH 2/9] selftests: ublk: refactor test_loop_08 into separate functions Ming Lei
2026-01-31 16:23 ` [PATCH 3/9] selftests: ublk: add _ublk_del_dev helper function Ming Lei
2026-01-31 16:23 ` [PATCH 4/9] selftests: ublk: track created devices for per-test cleanup Ming Lei
2026-01-31 16:23 ` [PATCH 5/9] selftests: ublk: add group-based test targets Ming Lei
2026-01-31 16:23 ` [PATCH 6/9] selftests: ublk: add _ublk_sleep helper for parallel execution Ming Lei
2026-01-31 16:23 ` [PATCH 7/9] selftests: ublk: increase timeouts for parallel test execution Ming Lei
2026-01-31 16:23 ` [PATCH 8/9] selftests: ublk: reorganize tests into integrity and recover groups Ming Lei
2026-01-31 16:23 ` [PATCH 9/9] selftests: ublk: improve I/O ordering test with bpftrace Ming Lei
2026-01-31 21:56 ` [PATCH 0/9] selftests: ublk: test infrastructure improvements Jens Axboe

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=20260131162342.13872-1-ming.lei@redhat.com \
    --to=ming.lei@redhat.com \
    --cc=alex@zazolabs.com \
    --cc=axboe@kernel.dk \
    --cc=csander@purestorage.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=shuah@kernel.org \
    --cc=ushankar@purestorage.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