aboutsummaryrefslogtreecommitdiff
path: root/block/elevator.c
diff options
context:
space:
mode:
authorPaolo Valente2017-12-20 12:38:31 +0100
committerJens Axboe2018-01-05 09:26:06 -0700
commit05e90283561648301e30232fe0c91bd345ceba03 (patch)
treeeaa740f53e70ef02fa1ec9c8d7db8fe5e00d40bb /block/elevator.c
parentf0ba5ea2fe45c0ad24a7dedae84a97f7aa046494 (diff)
block, bfq: add missing rq_pos_tree update on rq removal
If two processes do I/O close to each other, then BFQ merges the bfq_queues associated with these processes, to get a more sequential I/O, and thus a higher throughput. In this respect, to detect whether two processes are doing I/O close to each other, BFQ keeps a list of the head-of-line I/O requests of all active bfq_queues. The list is ordered by initial sectors, and implemented through a red-black tree (rq_pos_tree). Unfortunately, the update of the rq_pos_tree was incomplete, because the tree was not updated on the removal of the head-of-line I/O request of a bfq_queue, in case the queue did not remain empty. This commit adds the missing update. Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Angelo Ruocco <angeloruocco90@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/elevator.c')
0 files changed, 0 insertions, 0 deletions