summaryrefslogtreecommitdiffstats
path: root/include/linux/blk-cgroup.h
diff options
context:
space:
mode:
authorDennis Zhou (Facebook) <dennisszhou@gmail.com>2018-09-11 14:41:30 -0400
committerJens Axboe <axboe@kernel.dk>2018-09-21 22:29:08 -0400
commit5bf9a1f3b4efef7e463105dde8bba4d2397909c2 (patch)
treec3179d65eba843d4cfa945544743955e889ad3f5 /include/linux/blk-cgroup.h
parenta7b39b4e961c4e2b3ed837803a7441a65c90ce33 (diff)
blkcg: consolidate bio_issue_init to be a part of core
bio_issue_init among other things initializes the timestamp for an IO. Rather than have this logic handled by policies, this consolidates it to be on the init paths (normal, clone, bounce clone). Signed-off-by: Dennis Zhou <dennisszhou@gmail.com> Acked-by: Tejun Heo <tj@kernel.org> Reviewed-by: Liu Bo <bo.liu@linux.alibaba.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/linux/blk-cgroup.h')
-rw-r--r--include/linux/blk-cgroup.h9
1 files changed, 9 insertions, 0 deletions
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
901static inline void blkcg_bio_issue_init(struct bio *bio)
902{
903 bio_issue_init(&bio->bi_issue, bio_sectors(bio));
904}
905
900static inline bool blkcg_bio_issue_check(struct request_queue *q, 906static 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) { }
1034static inline void blk_rq_set_rl(struct request *rq, struct request_list *rl) { } 1042static inline void blk_rq_set_rl(struct request *rq, struct request_list *rl) { }
1035static inline struct request_list *blk_rq_rl(struct request *rq) { return &rq->q->root_rl; } 1043static inline struct request_list *blk_rq_rl(struct request *rq) { return &rq->q->root_rl; }
1036 1044
1045static inline void blkcg_bio_issue_init(struct bio *bio) { }
1037static inline bool blkcg_bio_issue_check(struct request_queue *q, 1046static inline bool blkcg_bio_issue_check(struct request_queue *q,
1038 struct bio *bio) { return true; } 1047 struct bio *bio) { return true; }
1039 1048