blkcg: implement blkg_[rw]stat_recursive_sum() and blkg_[rw]stat_merge()
authorTejun Heo <tj@kernel.org>
Wed, 9 Jan 2013 16:05:12 +0000 (08:05 -0800)
committerTejun Heo <tj@kernel.org>
Wed, 9 Jan 2013 16:05:12 +0000 (08:05 -0800)
commit16b3de6652c7aef151f38726faf90f0dbc9e9c71
tree1b8e615c5261b677ff6a6a3b25fad46b34d1b64b
parentb50da39f51139f81b3115d0f9d8632507f802755
blkcg: implement blkg_[rw]stat_recursive_sum() and blkg_[rw]stat_merge()

Implement blkg_[rw]stat_recursive_sum() and blkg_[rw]stat_merge().
The former two collect the [rw]stats designated by the target policy
data and offset from the pd's subtree.  The latter two add one
[rw]stat to another.

Note that the recursive sum functions require the queue lock to be
held on entry to make blkg online test reliable.  This is necessary to
properly handle stats of a dying blkg.

These will be used to implement hierarchical stats.

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