summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-07-15 09:33:37 -0600
committerJens Axboe <axboe@kernel.dk>2020-07-15 09:33:37 -0600
commite791ee6885f7e9e32c3e551cadea8bc6effaae1e (patch)
tree192c8c14271f434aa440e147c64e6da020ed33a1
parentd0f0f1b4c55e9e1b10e47399f544be52567d9fc3 (diff)
downloadlwn-e791ee6885f7e9e32c3e551cadea8bc6effaae1e.tar.gz
lwn-e791ee6885f7e9e32c3e551cadea8bc6effaae1e.zip
Revert "blk-rq-qos: remove redundant finish_wait to rq_qos_wait."
This reverts commit 826f2f48da8c331ac51e1381998d318012d66550. Qian Cai reports that this commit causes stalls with swap. Revert until the reason can be figured out. Reported-by: Qian Cai <cai@lca.pw> Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--block/blk-rq-qos.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/block/blk-rq-qos.c b/block/blk-rq-qos.c
index 18f3eab9f768..656460636ad3 100644
--- a/block/blk-rq-qos.c
+++ b/block/blk-rq-qos.c
@@ -273,6 +273,8 @@ void rq_qos_wait(struct rq_wait *rqw, void *private_data,
if (data.got_token)
break;
if (!has_sleeper && acquire_inflight_cb(rqw, private_data)) {
+ finish_wait(&rqw->wait, &data.wq);
+
/*
* We raced with wbt_wake_function() getting a token,
* which means we now have two. Put our local token