lkml.org 
[lkml]   [2022]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH -next V2] blk-mq: fix tag_get wait task can't be awakened
From
Date
On 05/01/2022 03:56, Laibin Qiu wrote:
> +
> /*
> * If a previously inactive queue goes active, bump the active user count.
> * We need to do this before try to allocate driver tag, then even if fail
> @@ -23,10 +38,16 @@
> */
> bool __blk_mq_tag_busy(struct blk_mq_hw_ctx *hctx)
> {
> + unsigned int users;
> +
> if (!test_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state) &&
> - !test_and_set_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state))
> + !test_and_set_bit(BLK_MQ_S_TAG_ACTIVE, &hctx->state)) {
> atomic_inc(&hctx->tags->active_queues);
>
> + users = atomic_read(&hctx->tags->active_queues);
> + blk_mq_update_wake_batch(hctx->tags, users);
> + }
> +
> return true;
> }
>

This code looks old to me. Which baseline is used here?

Thanks,
John

\
 
 \ /
  Last update: 2022-01-05 11:56    [W:0.033 / U:0.124 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site