diff options
-rw-r--r-- | block/bio.c | 2 | ||||
-rw-r--r-- | block/blk-iolatency.c | 2 | ||||
-rw-r--r-- | block/blk-throttle.c | 8 | ||||
-rw-r--r-- | block/bounce.c | 2 | ||||
-rw-r--r-- | include/linux/blk-cgroup.h | 9 |
5 files changed, 13 insertions, 10 deletions
diff --git a/block/bio.c b/block/bio.c index 748d7132f172..80c948da061c 100644 --- a/block/bio.c +++ b/block/bio.c | |||
@@ -610,6 +610,8 @@ void __bio_clone_fast(struct bio *bio, struct bio *bio_src) | |||
610 | bio->bi_io_vec = bio_src->bi_io_vec; | 610 | bio->bi_io_vec = bio_src->bi_io_vec; |
611 | 611 | ||
612 | bio_clone_blkcg_association(bio, bio_src); | 612 | bio_clone_blkcg_association(bio, bio_src); |
613 | |||
614 | blkcg_bio_issue_init(bio); | ||
613 | } | 615 | } |
614 | EXPORT_SYMBOL(__bio_clone_fast); | 616 | EXPORT_SYMBOL(__bio_clone_fast); |
615 | 617 | ||
diff --git a/block/blk-iolatency.c b/block/blk-iolatency.c index 7337fbc7f850..2d848b2f8b87 100644 --- a/block/blk-iolatency.c +++ b/block/blk-iolatency.c | |||
@@ -398,8 +398,6 @@ static void blkcg_iolatency_throttle(struct rq_qos *rqos, struct bio *bio, | |||
398 | if (!blk_iolatency_enabled(blkiolat)) | 398 | if (!blk_iolatency_enabled(blkiolat)) |
399 | return; | 399 | return; |
400 | 400 | ||
401 | bio_issue_init(&bio->bi_issue, bio_sectors(bio)); | ||
402 | |||
403 | while (blkg && blkg->parent) { | 401 | while (blkg && blkg->parent) { |
404 | struct iolatency_grp *iolat = blkg_to_lat(blkg); | 402 | struct iolatency_grp *iolat = blkg_to_lat(blkg); |
405 | if (!iolat) { | 403 | if (!iolat) { |
diff --git a/block/blk-throttle.c b/block/blk-throttle.c index e62ae502891b..4bda70e8db48 100644 --- a/block/blk-throttle.c +++ b/block/blk-throttle.c | |||
@@ -2115,13 +2115,6 @@ static inline void throtl_update_latency_buckets(struct throtl_data *td) | |||
2115 | } | 2115 | } |
2116 | #endif | 2116 | #endif |
2117 | 2117 | ||
2118 | static void blk_throtl_assoc_bio(struct throtl_grp *tg, struct bio *bio) | ||
2119 | { | ||
2120 | #ifdef CONFIG_BLK_DEV_THROTTLING_LOW | ||
2121 | bio_issue_init(&bio->bi_issue, bio_sectors(bio)); | ||
2122 | #endif | ||
2123 | } | ||
2124 | |||
2125 | bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg, | 2118 | bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg, |
2126 | struct bio *bio) | 2119 | struct bio *bio) |
2127 | { | 2120 | { |
@@ -2145,7 +2138,6 @@ bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg, | |||
2145 | if (unlikely(blk_queue_bypass(q))) | 2138 | if (unlikely(blk_queue_bypass(q))) |
2146 | goto out_unlock; | 2139 | goto out_unlock; |
2147 | 2140 | ||
2148 | blk_throtl_assoc_bio(tg, bio); | ||
2149 | blk_throtl_update_idletime(tg); | 2141 | blk_throtl_update_idletime(tg); |
2150 | 2142 | ||
2151 | sq = &tg->service_queue; | 2143 | sq = &tg->service_queue; |
diff --git a/block/bounce.c b/block/bounce.c index bc63b3a2d18c..7a08703b1204 100644 --- a/block/bounce.c +++ b/block/bounce.c | |||
@@ -259,6 +259,8 @@ static struct bio *bounce_clone_bio(struct bio *bio_src, gfp_t gfp_mask, | |||
259 | 259 | ||
260 | bio_clone_blkcg_association(bio, bio_src); | 260 | bio_clone_blkcg_association(bio, bio_src); |
261 | 261 | ||
262 | blkcg_bio_issue_init(bio); | ||
263 | |||
262 | return bio; | 264 | return bio; |
263 | } | 265 | } |
264 | 266 | ||
diff --git a/include/linux/blk-cgroup.h b/include/linux/blk-cgroup.h index 6e33ad1d92b4..a6b6e741a75e 100644 --- a/include/linux/blk-cgroup.h +++ b/include/linux/blk-cgroup.h | |||
@@ -897,6 +897,12 @@ static inline bool blk_throtl_bio(struct request_queue *q, struct blkcg_gq *blkg | |||
897 | struct bio *bio) { return false; } | 897 | struct bio *bio) { return false; } |
898 | #endif | 898 | #endif |
899 | 899 | ||
900 | |||
901 | static inline void blkcg_bio_issue_init(struct bio *bio) | ||
902 | { | ||
903 | bio_issue_init(&bio->bi_issue, bio_sectors(bio)); | ||
904 | } | ||
905 | |||
900 | static inline bool blkcg_bio_issue_check(struct request_queue *q, | 906 | static inline bool blkcg_bio_issue_check(struct request_queue *q, |
901 | struct bio *bio) | 907 | struct bio *bio) |
902 | { | 908 | { |
@@ -922,6 +928,8 @@ static inline bool blkcg_bio_issue_check(struct request_queue *q, | |||
922 | blkg_rwstat_add(&blkg->stat_ios, bio->bi_opf, 1); | 928 | blkg_rwstat_add(&blkg->stat_ios, bio->bi_opf, 1); |
923 | } | 929 | } |
924 | 930 | ||
931 | blkcg_bio_issue_init(bio); | ||
932 | |||
925 | rcu_read_unlock(); | 933 | rcu_read_unlock(); |
926 | return !throtl; | 934 | return !throtl; |
927 | } | 935 | } |
@@ -1034,6 +1042,7 @@ static inline void blk_put_rl(struct request_list *rl) { } | |||
1034 | static inline void blk_rq_set_rl(struct request *rq, struct request_list *rl) { } | 1042 | static inline void blk_rq_set_rl(struct request *rq, struct request_list *rl) { } |
1035 | static inline struct request_list *blk_rq_rl(struct request *rq) { return &rq->q->root_rl; } | 1043 | static inline struct request_list *blk_rq_rl(struct request *rq) { return &rq->q->root_rl; } |
1036 | 1044 | ||
1045 | static inline void blkcg_bio_issue_init(struct bio *bio) { } | ||
1037 | static inline bool blkcg_bio_issue_check(struct request_queue *q, | 1046 | static inline bool blkcg_bio_issue_check(struct request_queue *q, |
1038 | struct bio *bio) { return true; } | 1047 | struct bio *bio) { return true; } |
1039 | 1048 | ||