]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
block/bfq_wf2q: correct weight to ioprio
authorYahu Gao <gaoyahu19@gmail.com>
Fri, 7 Jan 2022 06:58:59 +0000 (14:58 +0800)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 27 Apr 2022 09:58:21 +0000 (11:58 +0200)
BugLink: https://bugs.launchpad.net/bugs/1969110
[ Upstream commit bcd2be763252f3a4d5fc4d6008d4d96c601ee74b ]

The return value is ioprio * BFQ_WEIGHT_CONVERSION_COEFF or 0.
What we want is ioprio or 0.
Correct this by changing the calculation.

Signed-off-by: Yahu Gao <gaoyahu19@gmail.com>
Acked-by: Paolo Valente <paolo.valente@linaro.org>
Link: https://lore.kernel.org/r/20220107065859.25689-1-gaoyahu19@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
(cherry picked from commit e11293de5cf6d072f2dea99abac0b2e2359b23a4)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
block/bfq-wf2q.c

index b74cc0da118ec277744f98f8e7395b66b19ce2f2..709b901de3ca9d321155f596eb69ae8a627d331c 100644 (file)
@@ -519,7 +519,7 @@ unsigned short bfq_ioprio_to_weight(int ioprio)
 static unsigned short bfq_weight_to_ioprio(int weight)
 {
        return max_t(int, 0,
-                    IOPRIO_NR_LEVELS * BFQ_WEIGHT_CONVERSION_COEFF - weight);
+                    IOPRIO_NR_LEVELS - weight / BFQ_WEIGHT_CONVERSION_COEFF);
 }
 
 static void bfq_get_entity(struct bfq_entity *entity)