Skip to content
  • Matt Helsley's avatar
    container freezer: implement freezer cgroup subsystem · dc52ddc0
    Matt Helsley authored
    This patch implements a new freezer subsystem in the control groups
    framework.  It provides a way to stop and resume execution of all tasks in
    a cgroup by writing in the cgroup filesystem.
    
    The freezer subsystem in the container filesystem defines a file named
    freezer.state.  Writing "FROZEN" to the state file will freeze all tasks
    in the cgroup.  Subsequently writing "RUNNING" will unfreeze the tasks in
    the cgroup.  Reading will return the current state.
    
    * Examples of usage :
    
       # mkdir /containers/freezer
       # mount -t cgroup -ofreezer freezer  /containers
       # mkdir /containers/0
       # echo $some_pid > /containers/0/tasks
    
    to get status of the freezer subsystem :
    
       # cat /containers/0/freezer.state
       RUNNING
    
    to freeze all tasks in the container :
    
       # echo FROZEN > /containers/0/freezer.state
       # cat /containers/0/freezer.state
       FREEZING
       # cat /containers/0/freezer.state
       FROZEN
    
    to unfreeze all tasks in the container :
    
       # echo RUNN...
    dc52ddc0