diff options
author | Tejun Heo <tj@kernel.org> | 2019-08-29 00:05:55 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-08-29 05:17:07 +0200 |
commit | 9677a3e01f838622d2efc9a3ccb97090a2c3156a (patch) | |
tree | 8fee617bcc94779a92ab88c46d7862f0885a1282 /block/blk-rq-qos.c | |
parent | block/rq_qos: add rq_qos_merge() (diff) | |
download | linux-9677a3e01f838622d2efc9a3ccb97090a2c3156a.tar.xz linux-9677a3e01f838622d2efc9a3ccb97090a2c3156a.zip |
block/rq_qos: implement rq_qos_ops->queue_depth_changed()
wbt already gets queue depth changed notification through
wbt_set_queue_depth(). Generalize it into
rq_qos_ops->queue_depth_changed() so that other rq_qos policies can
easily hook into the events too.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-rq-qos.c')
-rw-r--r-- | block/blk-rq-qos.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/block/blk-rq-qos.c b/block/blk-rq-qos.c index f4eea78f5cc1..61b635bc2a31 100644 --- a/block/blk-rq-qos.c +++ b/block/blk-rq-qos.c @@ -101,6 +101,15 @@ void __rq_qos_done_bio(struct rq_qos *rqos, struct bio *bio) } while (rqos); } +void __rq_qos_queue_depth_changed(struct rq_qos *rqos) +{ + do { + if (rqos->ops->queue_depth_changed) + rqos->ops->queue_depth_changed(rqos); + rqos = rqos->next; + } while (rqos); +} + /* * Return true, if we can't increase the depth further by scaling */ |