Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/torvalds/linux.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Begunkov <asml.silence@gmail.com>2021-06-24 17:09:56 +0300
committerJens Axboe <axboe@kernel.dk>2021-06-30 23:15:39 +0300
commit1a924a808208c1880ef9f36b6bf98d27af045f06 (patch)
treef7cb04d98103acf81d510db072801ad3b82f9940 /fs/io_uring.c
parent948e19479cb649587165243c6cc12d113c9cbbe0 (diff)
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 <asml.silence@gmail.com> Link: https://lore.kernel.org/r/e4a07db1353ee38b924dd1b45394cf8e746130b4.1624543113.git.asml.silence@gmail.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/io_uring.c')
-rw-r--r--fs/io_uring.c6
1 files changed, 3 insertions, 3 deletions
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);