summaryrefslogtreecommitdiffstats
path: root/block/bfq-cgroup.c
diff options
context:
space:
mode:
authorPaolo Valente <paolo.valente@linaro.org>2020-02-03 11:40:55 +0100
committerJens Axboe <axboe@kernel.dk>2020-02-03 14:58:15 +0100
commit32c59e3a9a5a0b180dd015755d6d18ca31e55935 (patch)
tree1c16f3955e0f71f275c7b62b403e5377b4f0a011 /block/bfq-cgroup.c
parentblock, bfq: do not plug I/O for bfq_queues with no proc refs (diff)
downloadlinux-32c59e3a9a5a0b180dd015755d6d18ca31e55935.tar.xz
linux-32c59e3a9a5a0b180dd015755d6d18ca31e55935.zip
block, bfq: do not insert oom queue into position tree
BFQ maintains an ordered list, implemented with an RB tree, of head-request positions of non-empty bfq_queues. This position tree, inherited from CFQ, is used to find bfq_queues that contain I/O close to each other. BFQ merges these bfq_queues into a single shared queue, if this boosts throughput on the device at hand. There is however a special-purpose bfq_queue that does not participate in queue merging, the oom bfq_queue. Yet, also this bfq_queue could be wrongly added to the position tree. So bfqq_find_close() could return the oom bfq_queue, which is a source of further troubles in an out-of-memory situation. This commit prevents the oom bfq_queue from being inserted into the position tree. Tested-by: Patrick Dung <patdung100@gmail.com> Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name> Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/bfq-cgroup.c')
0 files changed, 0 insertions, 0 deletions