Control Groupstats is inspired by the discussion athttp://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics assuggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263.Per cgroup statistics infrastructure re-uses code from the taskstatsinterface. A new set of cgroup operations are registered with commandsand attributes specific to cgroups. It should be very easy toextend per cgroup statistics, by adding members to the cgroupstatsstructure.The current model for cgroupstats is a pull, a push model (to poststatistics on interesting events), should be very easy to add. Currentlyuser space requests for statistics by passing the cgroup path.Statistics about the state of all the tasks in the cgroup is returned touser space.NOTE: We currently rely on delay accounting for extracting informationabout tasks blocked on I/O. If CONFIG_TASK_DELAY_ACCT is disabled, thisinformation will not be available.To extract cgroup statistics a utility very similar to getdelays.chas been developed, the sample output of the utility is shown below~/balbir/cgroupstats # ./getdelays -C "/cgroup/a"sleeping 1, blocked 0, running 1, stopped 0, uninterruptible 0~/balbir/cgroupstats # ./getdelays -C "/cgroup"sleeping 155, blocked 0, running 1, stopped 0, uninterruptible 2