From: Jens Axboe <axboe@kernel.dk>
Date: Wed, 15 Jul 2020 09:33:37 -0600
Subject: [PATCH] Revert "blk-rq-qos: remove redundant finish_wait to
rq_qos_wait."
References: bsc#1175995,jsc#SLE-15608
Git-commit: e791ee6885f7e9e32c3e551cadea8bc6effaae1e
Patch-mainline: v5.9-rc1
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>
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
block/blk-rq-qos.c | 2 ++
1 file changed, 2 insertions(+)
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
--
2.16.4