diff options
author | Guoqing Jiang <guoqing.jiang@cloud.ionos.com> | 2020-05-09 00:00:12 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-05-29 16:30:39 -0600 |
commit | b77412372b6812a05eaa996e1a93cafa2fa1eec2 (patch) | |
tree | cf0f70988a34f322723c15b0a58212f868e95681 /block | |
parent | 32215469489ad2ad5139ab6fb779c9edfd61618d (diff) | |
download | linux-stable-b77412372b6812a05eaa996e1a93cafa2fa1eec2.tar.gz linux-stable-b77412372b6812a05eaa996e1a93cafa2fa1eec2.tar.bz2 linux-stable-b77412372b6812a05eaa996e1a93cafa2fa1eec2.zip |
blk-throttle: remove blk_throtl_drain
After the commit 5addeae1bedc4 ("blk-cgroup: remove blkcg_drain_queue"),
there is no caller of blk_throtl_drain, so let's remove it.
Signed-off-by: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-throttle.c | 41 | ||||
-rw-r--r-- | block/blk.h | 2 |
2 files changed, 0 insertions, 43 deletions
diff --git a/block/blk-throttle.c b/block/blk-throttle.c index 98233c9c65a8..0b2ce7fb77a7 100644 --- a/block/blk-throttle.c +++ b/block/blk-throttle.c @@ -2380,47 +2380,6 @@ static void tg_drain_bios(struct throtl_service_queue *parent_sq) } } -/** - * blk_throtl_drain - drain throttled bios - * @q: request_queue to drain throttled bios for - * - * Dispatch all currently throttled bios on @q through ->make_request_fn(). - */ -void blk_throtl_drain(struct request_queue *q) - __releases(&q->queue_lock) __acquires(&q->queue_lock) -{ - struct throtl_data *td = q->td; - struct blkcg_gq *blkg; - struct cgroup_subsys_state *pos_css; - struct bio *bio; - int rw; - - rcu_read_lock(); - - /* - * Drain each tg while doing post-order walk on the blkg tree, so - * that all bios are propagated to td->service_queue. It'd be - * better to walk service_queue tree directly but blkg walk is - * easier. - */ - blkg_for_each_descendant_post(blkg, pos_css, td->queue->root_blkg) - tg_drain_bios(&blkg_to_tg(blkg)->service_queue); - - /* finally, transfer bios from top-level tg's into the td */ - tg_drain_bios(&td->service_queue); - - rcu_read_unlock(); - spin_unlock_irq(&q->queue_lock); - - /* all bios now should be in td->service_queue, issue them */ - for (rw = READ; rw <= WRITE; rw++) - while ((bio = throtl_pop_queued(&td->service_queue.queued[rw], - NULL))) - generic_make_request(bio); - - spin_lock_irq(&q->queue_lock); -} - int blk_throtl_init(struct request_queue *q) { struct throtl_data *td; diff --git a/block/blk.h b/block/blk.h index 428f7e5d70a8..aa16e524dc35 100644 --- a/block/blk.h +++ b/block/blk.h @@ -296,12 +296,10 @@ int create_task_io_context(struct task_struct *task, gfp_t gfp_mask, int node); * Internal throttling interface */ #ifdef CONFIG_BLK_DEV_THROTTLING -extern void blk_throtl_drain(struct request_queue *q); extern int blk_throtl_init(struct request_queue *q); extern void blk_throtl_exit(struct request_queue *q); extern void blk_throtl_register_queue(struct request_queue *q); #else /* CONFIG_BLK_DEV_THROTTLING */ -static inline void blk_throtl_drain(struct request_queue *q) { } static inline int blk_throtl_init(struct request_queue *q) { return 0; } static inline void blk_throtl_exit(struct request_queue *q) { } static inline void blk_throtl_register_queue(struct request_queue *q) { } |