Re: [PATCH BUGFIX/IMPROVEMENT 1/6] block, bfq: always inject I/O of queues blocked by wakers

From: Jens Axboe
Date: Tue Jan 26 2021 - 11:20:33 EST


On 1/26/21 3:50 AM, Paolo Valente wrote:
> diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
> index 445cef9c0bb9..a83149407336 100644
> --- a/block/bfq-iosched.c
> +++ b/block/bfq-iosched.c
> @@ -4487,9 +4487,15 @@ static struct bfq_queue *bfq_select_queue(struct bfq_data *bfqd)
> bfq_bfqq_busy(bfqq->bic->bfqq[0]) &&
> bfqq->bic->bfqq[0]->next_rq ?
> bfqq->bic->bfqq[0] : NULL;
> + struct bfq_queue *blocked_bfqq =
> + !hlist_empty(&bfqq->woken_list) ?
> + container_of(bfqq->woken_list.first,
> + struct bfq_queue,
> + woken_list_node)
> + : NULL;

hlist_first_entry_or_null?

--
Jens Axboe