aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/sctop.py
diff options
context:
space:
mode:
authorMing Lei <[email protected]>2025-06-25 02:25:54 +0000
committerJens Axboe <[email protected]>2025-06-25 02:44:52 +0000
commit524346e9d79f63a6e5aaa645140da3d1ec7a8a0f (patch)
tree7100642594e9cb268a5660312aff30874b31695a /tools/perf/scripts/python/sctop.py
parentublk: santizize the arguments from userspace when adding a device (diff)
downloadkernel-524346e9d79f63a6e5aaa645140da3d1ec7a8a0f.tar.gz
kernel-524346e9d79f63a6e5aaa645140da3d1ec7a8a0f.zip
ublk: build batch from IOs in same io_ring_ctx and io task
ublk_queue_cmd_list() dispatches the whole batch list by scheduling task work via the tail request's io_uring_cmd, this way is fine even though more than one io_ring_ctx are involved for this batch since it is just one running context. However, the task work handler ublk_cmd_list_tw_cb() takes `issue_flags` of tail uring_cmd's io_ring_ctx for completing all commands. This way is wrong if any uring_cmd is issued from different io_ring_ctx. Fixes it by always building batch IOs from same io_ring_ctx and io task because ublk_dispatch_req() does validate task context, and IO needs to be aborted in case of running from fallback task work context. For typical per-queue or per-io daemon implementation, this way shouldn't make difference from performance viewpoint, because single io_ring_ctx is taken in each daemon for normal use case. Fixes: d796cea7b9f3 ("ublk: implement ->queue_rqs()") Signed-off-by: Ming Lei <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/sctop.py')
0 files changed, 0 insertions, 0 deletions