• Matt Helsley's avatar
    container freezer: add TIF_FREEZE flag to all architectures · 83224b08
    Matt Helsley authored
    This patch series introduces a cgroup subsystem that utilizes the swsusp
    freezer to freeze a group of tasks.  It's immediately useful for batch job
    management scripts.  It should also be useful in the future for
    implementing container checkpoint/restart.
    
    The freezer subsystem in the container filesystem defines a cgroup file
    named freezer.state.  Reading freezer.state will return the current state
    of the cgroup.  Writing "FROZEN" to the state file will freeze all tasks
    in the cgroup.  Subsequently writing "RUNNING" will unfreeze the tasks in
    the cgroup.
    
    * 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 RUNNING > /containers/0/freezer.state
       # cat /containers/0/freezer.state
       RUNNING
    
    This patch:
    
    The first step in making the refrigerator() available to all
    architectures, even for those without power management.
    
    The purpose of such a change is to be able to use the refrigerator() in a
    new control group subsystem which will implement a control group freezer.
    
    [akpm@linux-foundation.org: fix sparc]
    Signed-off-by: default avatarCedric Le Goater <clg@fr.ibm.com>
    Signed-off-by: default avatarMatt Helsley <matthltc@us.ibm.com>
    Acked-by: default avatarPavel Machek <pavel@suse.cz>
    Acked-by: default avatarSerge E. Hallyn <serue@us.ibm.com>
    Acked-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
    Acked-by: default avatarNigel Cunningham <nigel@tuxonice.net>
    Tested-by: default avatarMatt Helsley <matthltc@us.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    83224b08
thread_info_64.h 8.92 KB