diff options
author | Coly Li <[email protected]> | 2022-09-20 00:16:47 +0800 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2022-09-19 11:12:35 -0600 |
commit | d2d05b88035d2d51a5bb6c5afec88a0880c73df4 (patch) | |
tree | 944e9c8c732856a1782ee14d183f2b4813efb440 /tools/perf/scripts/python/bin/export-to-postgresql-report | |
parent | 6dd3be6923eec2c49860e7292e4e2783c74a9dff (diff) |
bcache: fix set_at_max_writeback_rate() for multiple attached devices
Inside set_at_max_writeback_rate() the calculation in following if()
check is wrong,
if (atomic_inc_return(&c->idle_counter) <
atomic_read(&c->attached_dev_nr) * 6)
Because each attached backing device has its own writeback thread
running and increasing c->idle_counter, the counter increates much
faster than expected. The correct calculation should be,
(counter / dev_nr) < dev_nr * 6
which equals to,
counter < dev_nr * dev_nr * 6
This patch fixes the above mistake with correct calculation, and helper
routine idle_counter_exceeded() is added to make code be more clear.
Reported-by: Mingzhe Zou <[email protected]>
Signed-off-by: Coly Li <[email protected]>
Acked-by: Mingzhe Zou <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin/export-to-postgresql-report')
0 files changed, 0 insertions, 0 deletions