diff options
| author | Paolo Valente <[email protected]> | 2021-06-19 14:09:48 +0000 |
|---|---|---|
| committer | Jens Axboe <[email protected]> | 2021-06-21 21:03:41 +0000 |
| commit | 9a2ac41b13c573703d6689f51f3e27dd658324be (patch) | |
| tree | 9b1815feafb49eb8c3e1404ae8bfc88b880208e3 /lib/debugobjects.c | |
| parent | block, bfq: check waker only for queues with no in-flight I/O (diff) | |
| download | kernel-9a2ac41b13c573703d6689f51f3e27dd658324be.tar.gz kernel-9a2ac41b13c573703d6689f51f3e27dd658324be.zip | |
block, bfq: reset waker pointer with shared queues
Commit 85686d0dc194 ("block, bfq: keep shared queues out of the waker
mechanism") leaves shared bfq_queues out of the waker-detection
mechanism. It attains this goal by not updating the pointer
last_completed_rq_bfqq, if the last request completed belongs to a
shared bfq_queue (so that the pointer will not point to the shared
bfq_queue).
Yet this has a side effect: the pointer last_completed_rq_bfqq keeps
pointing, deceptively, to a bfq_queue that actually is not the last
one to have had a request completed. As a consequence, such a
bfq_queue may deceptively be considered as a waker of some bfq_queue,
even of some shared bfq_queue.
To address this issue, reset last_completed_rq_bfqq if the last
request completed belongs to a shared queue.
Fixes: 85686d0dc194 ("block, bfq: keep shared queues out of the waker mechanism")
Signed-off-by: Paolo Valente <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions
