lkml.org 
[lkml]   [2022]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -next V5] blk-mq: fix tag_get wait task can't be awakened
Hi,

On Thu, Jan 13, 2022 at 10:55:36AM +0800, Laibin Qiu wrote:
> In case of shared tags, there might be more than one hctx which
> allocates from the same tags, and each hctx is limited to allocate at
> most:
> hctx_max_depth = max((bt->sb.depth + users - 1) / users, 4U);
>
> tag idle detection is lazy, and may be delayed for 30sec, so there
> could be just one real active hctx(queue) but all others are actually
> idle and still accounted as active because of the lazy idle detection.
> Then if wake_batch is > hctx_max_depth, driver tag allocation may wait
> forever on this real active hctx.
>
> Fix this by recalculating wake_batch when inc or dec active_queues.
>
> Fixes: 0d2602ca30e41 ("blk-mq: improve support for shared tags maps")
> Suggested-by: Ming Lei <ming.lei@redhat.com>
> Suggested-by: John Garry <john.garry@huawei.com>
> Signed-off-by: Laibin Qiu <qiulaibin@huawei.com>

I understand this problem has been reported already, but still:

This patch causes a hang in several of my qemu emulations when
trying to boot from usb. Reverting it fixes the problem. Bisect log
is attached.

Boot logs are available at
https://kerneltests.org/builders/qemu-arm-aspeed-master/builds/230/steps/qemubuildcommand/logs/stdio
but don't really show much: the affected tests simply hang until they
are aborted.

Guenter

---
bisect log:

# bad: [0280e3c58f92b2fe0e8fbbdf8d386449168de4a8] Merge tag 'nfs-for-5.17-1' of git://git.linux-nfs.org/projects/anna/linux-nfs
# good: [64f29d8856a9e0d1fcdc5344f76e70c364b941cb] Merge tag 'ceph-for-5.17-rc1' of git://github.com/ceph/ceph-client
git bisect start 'HEAD' '64f29d8856a9'
# bad: [b087788c20aa959f83df989b31fdcc4182b2d067] Merge tag 'ata-5.17-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata
git bisect bad b087788c20aa959f83df989b31fdcc4182b2d067
# bad: [0854dc81e108c90cccda6d1fc54bc270f16a3cc9] Merge tag 'docs-5.17-2' of git://git.lwn.net/linux
git bisect bad 0854dc81e108c90cccda6d1fc54bc270f16a3cc9
# good: [75242f31db6cabf602a5eb84c13b579099d72a65] Merge tag 'rtc-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
git bisect good 75242f31db6cabf602a5eb84c13b579099d72a65
# good: [f3a78227eef20c0ba13bbf9401f0a340bca3ad16] Merge tag 'io_uring-5.17-2022-01-21' of git://git.kernel.dk/linux-block
git bisect good f3a78227eef20c0ba13bbf9401f0a340bca3ad16
# bad: [3c7c25038b6c7d66a6816028219914379be6a5cc] Merge tag 'block-5.17-2022-01-21' of git://git.kernel.dk/linux-block
git bisect bad 3c7c25038b6c7d66a6816028219914379be6a5cc
# bad: [e6a2e5116e07ce5acc8698785c29e9e47f010fd5] block: Remove unnecessary variable assignment
git bisect bad e6a2e5116e07ce5acc8698785c29e9e47f010fd5
# bad: [413ec8057bc3d368574abd05dd27e747063b2f59] loop: remove redundant initialization of pointer node
git bisect bad 413ec8057bc3d368574abd05dd27e747063b2f59
# bad: [180dccb0dba4f5e84a4a70c1be1d34cbb6528b32] blk-mq: fix tag_get wait task can't be awakened
git bisect bad 180dccb0dba4f5e84a4a70c1be1d34cbb6528b32
# first bad commit: [180dccb0dba4f5e84a4a70c1be1d34cbb6528b32] blk-mq: fix tag_get wait task can't be awakened

\
 
 \ /
  Last update: 2022-01-27 02:33    [W:0.087 / U:0.532 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site