Re: [PATCH v2] blk-rq-qos: remove redundant finish_wait to rq_qos_wait.

From: Jens Axboe
Date: Wed Jul 15 2020 - 11:32:40 EST


On 7/14/20 8:19 PM, Stephen Rothwell wrote:
> Hi all,
>
> On Tue, 14 Jul 2020 19:21:24 -0400 Qian Cai <cai@xxxxxx> wrote:
>>
>> On Sun, Jun 28, 2020 at 09:56:25AM -0400, Guo Xuenan wrote:
>>> It is no need do finish_wait twice after acquiring inflight.
>>>
>>> Signed-off-by: Guo Xuenan <guoxuenan@xxxxxxxxxx>
>>> ---
>>> block/blk-rq-qos.c | 2 --
>>> 1 file changed, 2 deletions(-)
>>>
>>> diff --git a/block/blk-rq-qos.c b/block/blk-rq-qos.c
>>> index 656460636ad3..18f3eab9f768 100644
>>> --- a/block/blk-rq-qos.c
>>> +++ b/block/blk-rq-qos.c
>>> @@ -273,8 +273,6 @@ 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.25.4
>>
>> Reverting this commit fixed an issue that swapping workloads will stall for
>> days without being able to make any progress below.
>
> I have reverted that commit from linux-next today.

Thanks, I'll revert it locally too.

--
Jens Axboe