mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
sbitmap: fix batched wait_cnt accounting
Batched completions can clear multiple bits, but we're only decrementing the wait_cnt by one each time. This can cause waiters to never be woken, stalling IO. Use the batched count instead. Link: https://bugzilla.kernel.org/show_bug.cgi?id=215679 Signed-off-by: Keith Busch <kbusch@kernel.org> Link: https://lore.kernel.org/r/20220909184022.1709476-1-kbusch@fb.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
@@ -575,8 +575,9 @@ void sbitmap_queue_wake_all(struct sbitmap_queue *sbq);
|
||||
* sbitmap_queue_wake_up() - Wake up some of waiters in one waitqueue
|
||||
* on a &struct sbitmap_queue.
|
||||
* @sbq: Bitmap queue to wake up.
|
||||
* @nr: Number of bits cleared.
|
||||
*/
|
||||
void sbitmap_queue_wake_up(struct sbitmap_queue *sbq);
|
||||
void sbitmap_queue_wake_up(struct sbitmap_queue *sbq, int nr);
|
||||
|
||||
/**
|
||||
* sbitmap_queue_show() - Dump &struct sbitmap_queue information to a &struct
|
||||
|
Reference in New Issue
Block a user