diff options
author | Tejun Heo <tj@kernel.org> | 2013-01-09 08:05:13 -0800 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-01-09 08:05:13 -0800 |
commit | 689665af4489f779bc82e7869509c9ac11b5a903 (patch) | |
tree | 2ae00b3beb2f658987d3e65cf9d08ff24ce916e3 /block | |
parent | 810ecfa765f8be20c8d9c468885b3403a2232d2f (diff) | |
download | linux-689665af4489f779bc82e7869509c9ac11b5a903.tar.gz linux-689665af4489f779bc82e7869509c9ac11b5a903.tar.bz2 linux-689665af4489f779bc82e7869509c9ac11b5a903.zip |
cfq-iosched: separate out cfqg_stats_reset() from cfq_pd_reset_stats()
Separate out cfqg_stats_reset() which takes struct cfqg_stats * from
cfq_pd_reset_stats() and move the latter to where other pd methods are
defined. cfqg_stats_reset() will be used to implement hierarchical
stats.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/cfq-iosched.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index d43145cc0088..f8b34bbbd372 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -688,11 +688,9 @@ static inline void cfqg_stats_update_completion(struct cfq_group *cfqg, io_start_time - start_time); } -static void cfq_pd_reset_stats(struct blkcg_gq *blkg) +/* @stats = 0 */ +static void cfqg_stats_reset(struct cfqg_stats *stats) { - struct cfq_group *cfqg = blkg_to_cfqg(blkg); - struct cfqg_stats *stats = &cfqg->stats; - /* queued stats shouldn't be cleared */ blkg_rwstat_reset(&stats->service_bytes); blkg_rwstat_reset(&stats->serviced); @@ -1477,6 +1475,13 @@ static void cfq_pd_init(struct blkcg_gq *blkg) cfqg->leaf_weight = blkg->blkcg->cfq_leaf_weight; } +static void cfq_pd_reset_stats(struct blkcg_gq *blkg) +{ + struct cfq_group *cfqg = blkg_to_cfqg(blkg); + + cfqg_stats_reset(&cfqg->stats); +} + /* * Search for the cfq group current task belongs to. request_queue lock must * be held. |