From: Pavel Begunkov Date: Thu, 24 Jun 2021 14:09:56 +0000 (+0100) Subject: io_uring: refactor io_sq_thread() X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1a924a808208c1880ef9f36b6bf98d27af045f06;p=uclinux-h8%2Flinux.git io_uring: refactor io_sq_thread() Move needs_sched declaration into the block where it's used, so it's harder to misuse/wrongfully reuse. Signed-off-by: Pavel Begunkov Link: https://lore.kernel.org/r/e4a07db1353ee38b924dd1b45394cf8e746130b4.1624543113.git.asml.silence@gmail.com Signed-off-by: Jens Axboe --- diff --git a/fs/io_uring.c b/fs/io_uring.c index 0cfbdee5da1a..8b69982aa9e2 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -6876,7 +6876,7 @@ static int io_sq_thread(void *data) mutex_lock(&sqd->lock); while (1) { - bool cap_entries, sqt_spin, needs_sched; + bool cap_entries, sqt_spin = false; if (io_sqd_events_pending(sqd) || signal_pending(current)) { if (io_sqd_handle_event(sqd)) @@ -6885,7 +6885,6 @@ static int io_sq_thread(void *data) continue; } - sqt_spin = false; cap_entries = !list_is_singular(&sqd->ctx_list); list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) { int ret = __io_sq_thread(ctx, cap_entries); @@ -6904,7 +6903,8 @@ static int io_sq_thread(void *data) prepare_to_wait(&sqd->wait, &wait, TASK_INTERRUPTIBLE); if (!io_sqd_events_pending(sqd) && !io_run_task_work()) { - needs_sched = true; + bool needs_sched = true; + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) { io_ring_set_wakeup_flag(ctx);