• C
    [PATCH] Cleanup patch for process freezing · 3e1d1d28
    Christoph Lameter 提交于
    1. Establish a simple API for process freezing defined in linux/include/sched.h:
    
       frozen(process)		Check for frozen process
       freezing(process)		Check if a process is being frozen
       freeze(process)		Tell a process to freeze (go to refrigerator)
       thaw_process(process)	Restart process
       frozen_process(process)	Process is frozen now
    
    2. Remove all references to PF_FREEZE and PF_FROZEN from all
       kernel sources except sched.h
    
    3. Fix numerous locations where try_to_freeze is manually done by a driver
    
    4. Remove the argument that is no longer necessary from two function calls.
    
    5. Some whitespace cleanup
    
    6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
       cleared before setting PF_FROZEN, recalc_sigpending does not check
       PF_FROZEN).
    
    This patch does not address the problem of freeze_processes() violating the rule
    that a task may only modify its own flags by setting PF_FREEZE. This is not clean
    in an SMP environment. freeze(process) is therefore not SMP safe!
    Signed-off-by: NChristoph Lameter <christoph@lameter.com>
    Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
    3e1d1d28
cs.c 49.4 KB