aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-cgroup.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2012-06-04 23:40:57 -0400
committerJens Axboe <axboe@kernel.dk>2012-06-25 05:53:50 -0400
commitb1208b56f31408f7d8381ff5d08e970aa5ee761c (patch)
treed077f86201fc7dee7ae23065c2c3d929219d1e5f /block/blk-cgroup.h
parent7f4b35d155a5f9e5748539a79558533aa08d6a81 (diff)
blkcg: inline bio_blkcg() and friends
Make bio_blkcg() and friends inline. They all are very simple and used only in few places. This patch is to prepare for further updates to request allocation path. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-cgroup.h')
-rw-r--r--block/blk-cgroup.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/block/blk-cgroup.h b/block/blk-cgroup.h
index 8ac457ce7783..e74cce1fbac9 100644
--- a/block/blk-cgroup.h
+++ b/block/blk-cgroup.h
@@ -120,8 +120,6 @@ struct blkcg_policy {
120 120
121extern struct blkcg blkcg_root; 121extern struct blkcg blkcg_root;
122 122
123struct blkcg *cgroup_to_blkcg(struct cgroup *cgroup);
124struct blkcg *bio_blkcg(struct bio *bio);
125struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, struct request_queue *q); 123struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, struct request_queue *q);
126struct blkcg_gq *blkg_lookup_create(struct blkcg *blkcg, 124struct blkcg_gq *blkg_lookup_create(struct blkcg *blkcg,
127 struct request_queue *q); 125 struct request_queue *q);
@@ -160,6 +158,25 @@ int blkg_conf_prep(struct blkcg *blkcg, const struct blkcg_policy *pol,
160void blkg_conf_finish(struct blkg_conf_ctx *ctx); 158void blkg_conf_finish(struct blkg_conf_ctx *ctx);
161 159
162 160
161static inline struct blkcg *cgroup_to_blkcg(struct cgroup *cgroup)
162{
163 return container_of(cgroup_subsys_state(cgroup, blkio_subsys_id),
164 struct blkcg, css);
165}
166
167static inline struct blkcg *task_blkcg(struct task_struct *tsk)
168{
169 return container_of(task_subsys_state(tsk, blkio_subsys_id),
170 struct blkcg, css);
171}
172
173static inline struct blkcg *bio_blkcg(struct bio *bio)
174{
175 if (bio && bio->bi_css)
176 return container_of(bio->bi_css, struct blkcg, css);
177 return task_blkcg(current);
178}
179
163/** 180/**
164 * blkg_to_pdata - get policy private data 181 * blkg_to_pdata - get policy private data
165 * @blkg: blkg of interest 182 * @blkg: blkg of interest
@@ -351,6 +368,7 @@ static inline void blkg_rwstat_reset(struct blkg_rwstat *rwstat)
351#else /* CONFIG_BLK_CGROUP */ 368#else /* CONFIG_BLK_CGROUP */
352 369
353struct cgroup; 370struct cgroup;
371struct blkcg;
354 372
355struct blkg_policy_data { 373struct blkg_policy_data {
356}; 374};
@@ -361,8 +379,6 @@ struct blkcg_gq {
361struct blkcg_policy { 379struct blkcg_policy {
362}; 380};
363 381
364static inline struct blkcg *cgroup_to_blkcg(struct cgroup *cgroup) { return NULL; }
365static inline struct blkcg *bio_blkcg(struct bio *bio) { return NULL; }
366static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, void *key) { return NULL; } 382static inline struct blkcg_gq *blkg_lookup(struct blkcg *blkcg, void *key) { return NULL; }
367static inline int blkcg_init_queue(struct request_queue *q) { return 0; } 383static inline int blkcg_init_queue(struct request_queue *q) { return 0; }
368static inline void blkcg_drain_queue(struct request_queue *q) { } 384static inline void blkcg_drain_queue(struct request_queue *q) { }
@@ -374,6 +390,8 @@ static inline int blkcg_activate_policy(struct request_queue *q,
374static inline void blkcg_deactivate_policy(struct request_queue *q, 390static inline void blkcg_deactivate_policy(struct request_queue *q,
375 const struct blkcg_policy *pol) { } 391 const struct blkcg_policy *pol) { }
376 392
393static inline struct blkcg *cgroup_to_blkcg(struct cgroup *cgroup) { return NULL; }
394static inline struct blkcg *bio_blkcg(struct bio *bio) { return NULL; }
377static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg, 395static inline struct blkg_policy_data *blkg_to_pd(struct blkcg_gq *blkg,
378 struct blkcg_policy *pol) { return NULL; } 396 struct blkcg_policy *pol) { return NULL; }
379static inline struct blkcg_gq *pd_to_blkg(struct blkg_policy_data *pd) { return NULL; } 397static inline struct blkcg_gq *pd_to_blkg(struct blkg_policy_data *pd) { return NULL; }