Star64_linux/include
Laibin Qiu 180dccb0db blk-mq: fix tag_get wait task can't be awakened
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: 0d2602ca30 ("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>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220113025536.1479653-1-qiulaibin@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-01-13 12:52:14 -07:00
..
acpi
asm-generic
clocksource
crypto
drm
dt-bindings - qcom: misc updates to qcom-ipcc driver 2022-01-13 11:19:07 -08:00
keys
kunit
kvm
linux blk-mq: fix tag_get wait task can't be awakened 2022-01-13 12:52:14 -07:00
math-emu
media
memory
misc
net
pcmcia
ras
rdma
scsi
soc
sound
target
trace IOMMU Updates for Linux v5.17 2022-01-12 16:15:51 -08:00
uapi RDMA v5.17 merge window pull request 2022-01-13 11:09:11 -08:00
vdso
video
xen xen: branch for v5.17-rc1 2022-01-12 16:42:00 -08:00