OSDN Git Service

block, bfq: make shared queues inherit wakers
authorPaolo Valente <paolo.valente@linaro.org>
Thu, 4 Mar 2021 17:46:24 +0000 (18:46 +0100)
committerJens Axboe <axboe@kernel.dk>
Thu, 25 Mar 2021 16:50:07 +0000 (10:50 -0600)
commit8ef3fc3a043cd4b3dfdb260f02be5f65cc31445d
treedbfe2b6b5847271e4a7c177bbd602661d9617fe9
parent7cc4ffc55564df4349050bcbf46fbdf3f35aef52
block, bfq: make shared queues inherit wakers

Consider a bfq_queue bfqq that is about to be merged with another
bfq_queue new_bfqq. The processes associated with bfqq are cooperators
of the processes associated with new_bfqq. So, if bfqq has a waker,
then it is reasonable (and beneficial for throughput) to assume that
all these processes will be happy to let bfqq's waker freely inject
I/O when they have no I/O. So this commit makes new_bfqq inherit
bfqq's waker.

Tested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Link: https://lore.kernel.org/r/20210304174627.161-4-paolo.valente@linaro.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c