12345678910111213141516171819202122232425262728293031 |
- ==================
- Control Groupstats
- ==================
- Control Groupstats is inspired by the discussion at
- https://lore.kernel.org/r/[email protected] and implements per cgroup statistics as
- suggested by Andrew Morton in https://lore.kernel.org/r/[email protected].
- Per cgroup statistics infrastructure re-uses code from the taskstats
- interface. A new set of cgroup operations are registered with commands
- and attributes specific to cgroups. It should be very easy to
- extend per cgroup statistics, by adding members to the cgroupstats
- structure.
- The current model for cgroupstats is a pull, a push model (to post
- statistics on interesting events), should be very easy to add. Currently
- user space requests for statistics by passing the cgroup path.
- Statistics about the state of all the tasks in the cgroup is returned to
- user space.
- NOTE: We currently rely on delay accounting for extracting information
- about tasks blocked on I/O. If CONFIG_TASK_DELAY_ACCT is disabled, this
- information will not be available.
- To extract cgroup statistics a utility very similar to getdelays.c
- has been developed, the sample output of the utility is shown below::
- ~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup/a"
- sleeping 1, blocked 0, running 1, stopped 0, uninterruptible 0
- ~/balbir/cgroupstats # ./getdelays -C "/sys/fs/cgroup"
- sleeping 155, blocked 0, running 1, stopped 0, uninterruptible 2
|