cfq-iosched: collect stats from dead cfqgs
authorTejun Heo <tj@kernel.org>
Wed, 9 Jan 2013 16:05:13 +0000 (08:05 -0800)
committerTejun Heo <tj@kernel.org>
Wed, 9 Jan 2013 16:05:13 +0000 (08:05 -0800)
commit0b39920b5f9f3ad37dd259bfa2e9cbca33475b28
tree84f3c07ae535dbf02276ff3645b4fbfe95419d9b
parent689665af4489f779bc82e7869509c9ac11b5a903
cfq-iosched: collect stats from dead cfqgs

To support hierarchical stats, it's necessary to remember stats from
dead children.  Add cfqg->dead_stats and make a dying cfqg transfer
its stats to the parent's dead-stats.

The transfer happens form ->pd_offline_fn() and it is possible that
there are some residual IOs completing afterwards.  Currently, we lose
these stats.  Given that cgroup removal isn't a very high frequency
operation and the amount of residual IOs on offline are likely to be
nil or small, this shouldn't be a big deal and the complexity needed
to handle residual IOs - another callback and rather elaborate
synchronization to reach and lock the matching q - doesn't seem
justified.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
block/cfq-iosched.c