summaryrefslogtreecommitdiffstats
path: root/block/bfq-iosched.h
diff options
context:
space:
mode:
authorPaolo Valente <paolo.valente@linaro.org>2021-01-25 20:02:47 +0100
committerJens Axboe <axboe@kernel.dk>2021-01-25 14:18:35 -0700
commit5a5436b98d5cd2714feaaa579cec49dd7f7057bb (patch)
treefe877239dfc354b243efd2a27ad48afcd5e065a1 /block/bfq-iosched.h
parente673914d52f913584cc4c454dfcff2e8eb04533f (diff)
downloadlinux-5a5436b98d5cd2714feaaa579cec49dd7f7057bb.tar.gz
linux-5a5436b98d5cd2714feaaa579cec49dd7f7057bb.tar.bz2
linux-5a5436b98d5cd2714feaaa579cec49dd7f7057bb.zip
block, bfq: save also injection state on queue merging
To prevent injection information from being lost on bfq_queue merging, also the amount of service that a bfq_queue receives must be saved and restored when the bfq_queue is merged and split, respectively. Tested-by: Jan Kara <jack@suse.cz> Signed-off-by: Paolo Valente <paolo.valente@linaro.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/bfq-iosched.h')
-rw-r--r--block/bfq-iosched.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/block/bfq-iosched.h b/block/bfq-iosched.h
index d15299d59f89..3f350fa3c5fd 100644
--- a/block/bfq-iosched.h
+++ b/block/bfq-iosched.h
@@ -444,6 +444,11 @@ struct bfq_io_cq {
unsigned long saved_wr_start_at_switch_to_srt;
unsigned int saved_wr_cur_max_time;
struct bfq_ttime saved_ttime;
+
+ /* Save also injection state */
+ u64 saved_last_serv_time_ns;
+ unsigned int saved_inject_limit;
+ unsigned long saved_decrease_time_jif;
};
/**