Chromium OS Cgroups
All cgroups are optional, but highly-recommended and if present will be used by Chrome and Chrome OS
top-level cgroups created by /etc/init/cgroups.conf
- cpu - Uses CPU time accounting to set limits on certain tasks * chrome_renderers - Set by Chrome code in <fixme> * session_manager_container - set by session manager in <fixme> * update-engine - set by update-engine in <fixme>
- freezer
- group of threads which stop running when we suspend or resume
- this limits the amount of work that happens at resume
- done by <fixme>
- devices
- limits the devices available to a process
- done by <fixme>
- cpuacct
- keeps track of resources consumed by a given group
There are also cgroups which are board-specific.
- cpuset
For big.LITTLE systems with different types of CPU cores, we set up cpusets for background tasks called cpuset/chrome/non-urgent/ which will be pinned to little CPUs and another for performance-sensitive tasks called cpuset/chrome/urgent/
It's up to Chrome to put the correct tasks (threads) into the {non-,}urgent group as appropriate.