summaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-07-15 18:33:37 +0300
committerJens Axboe <axboe@kernel.dk>2020-07-15 18:33:37 +0300
commite791ee6885f7e9e32c3e551cadea8bc6effaae1e (patch)
tree192c8c14271f434aa440e147c64e6da020ed33a1 /block
parentd0f0f1b4c55e9e1b10e47399f544be52567d9fc3 (diff)
downloadlinux-e791ee6885f7e9e32c3e551cadea8bc6effaae1e.tar.xz
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>
Diffstat (limited to 'block')
-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