diff options
| author | Paolo Valente <[email protected]> | 2020-02-03 10:40:55 +0000 |
|---|---|---|
| committer | Jens Axboe <[email protected]> | 2020-02-03 13:58:15 +0000 |
| commit | 32c59e3a9a5a0b180dd015755d6d18ca31e55935 (patch) | |
| tree | 1c16f3955e0f71f275c7b62b403e5377b4f0a011 /drivers/mtd/lpddr/lpddr_cmds.c | |
| parent | block, bfq: do not plug I/O for bfq_queues with no proc refs (diff) | |
| download | kernel-32c59e3a9a5a0b180dd015755d6d18ca31e55935.tar.gz kernel-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 <[email protected]>
Tested-by: Oleksandr Natalenko <[email protected]>
Signed-off-by: Paolo Valente <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'drivers/mtd/lpddr/lpddr_cmds.c')
0 files changed, 0 insertions, 0 deletions
