]> www.infradead.org Git - nvme.git/commit
selftests: ublk: kublk: decouple ublk_queues from ublk server threads
authorUday Shankar <ushankar@purestorage.com>
Thu, 29 May 2025 23:47:15 +0000 (17:47 -0600)
committerJens Axboe <axboe@kernel.dk>
Sat, 31 May 2025 20:38:43 +0000 (14:38 -0600)
commitabe54c16034631db01aba02e06da569b33002ab1
tree1bac44c816f460cdc0bd856688fa02f4daf93cd1
parentb9848ca7a7643b13feed9ebb67f5150eb731610c
selftests: ublk: kublk: decouple ublk_queues from ublk server threads

Add support in kublk for decoupled ublk_queues and ublk server threads.
kublk now has two modes of operation:

- (preexisting mode) threads and queues are paired 1:1, and each thread
  services all the I/Os of one queue
- (new mode) thread and queue counts are independently configurable.
  threads service I/Os in a way that balances load across threads even
  if load is not balanced over queues.

The default is the preexisting mode. The new mode is activated by
passing the --per_io_tasks flag.

Signed-off-by: Uday Shankar <ushankar@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250529-ublk_task_per_io-v8-6-e9d3b119336a@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
tools/testing/selftests/ublk/file_backed.c
tools/testing/selftests/ublk/kublk.c
tools/testing/selftests/ublk/kublk.h
tools/testing/selftests/ublk/null.c
tools/testing/selftests/ublk/stripe.c