Revert "block/mq-deadline: Prioritize high-priority requests"
authorJens Axboe <axboe@kernel.dk>
Thu, 26 Aug 2021 18:59:44 +0000 (12:59 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 26 Aug 2021 18:59:44 +0000 (12:59 -0600)
commit7b05bf771084ff788243b78f51bc2c820730951c
tree7220ad3f581eaa5fbad9ad0d86cd23dc2c5878c4
parentb6d2b054e8baaee53fd2d4854c63cbf0f2c6262a
Revert "block/mq-deadline: Prioritize high-priority requests"

This reverts commit fb926032b3209300f9dc454a36b8299582ae545c.

Zhen reports that this commit slows down mq-deadline on a 128 thread
box, going from 258K IOPS to 170-180K. My testing shows that Optane
gen2 IOPS goes from 2.3M IOPS to 1.2M IOPS on a 64 thread box.

Looking in detail at the code, the main culprit here is needing to sum
percpu counters in the dispatch hot path, leading to very high CPU
utilization there. To make matters worse, the code currently needs to
sum 2 percpu counters, and it does so in the most naive way of iterating
possible CPUs _twice_.

Since we're close to release, revert this commit and we can re-do it
with regular per-priority counters instead for the 5.15 kernel.

Link: https://lore.kernel.org/linux-block/20210826144039.2143-1-thunder.leizhen@huawei.com/
Reported-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/mq-deadline.c