Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6/mini2440.git] / Documentation / accounting / cgroupstats.txt
blobeda40fd39cad9df7927e7409765007af38020219
1 Control Groupstats is inspired by the discussion at
2 http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics as
3 suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263.
5 Per cgroup statistics infrastructure re-uses code from the taskstats
6 interface. A new set of cgroup operations are registered with commands
7 and attributes specific to cgroups. It should be very easy to
8 extend per cgroup statistics, by adding members to the cgroupstats
9 structure.
11 The current model for cgroupstats is a pull, a push model (to post
12 statistics on interesting events), should be very easy to add. Currently
13 user space requests for statistics by passing the cgroup path.
14 Statistics about the state of all the tasks in the cgroup is returned to
15 user space.
17 NOTE: We currently rely on delay accounting for extracting information
18 about tasks blocked on I/O. If CONFIG_TASK_DELAY_ACCT is disabled, this
19 information will not be available.
21 To extract cgroup statistics a utility very similar to getdelays.c
22 has been developed, the sample output of the utility is shown below
24 ~/balbir/cgroupstats # ./getdelays  -C "/cgroup/a"
25 sleeping 1, blocked 0, running 1, stopped 0, uninterruptible 0
26 ~/balbir/cgroupstats # ./getdelays  -C "/cgroup"
27 sleeping 155, blocked 0, running 1, stopped 0, uninterruptible 2