freezer: rename thaw_process() to __thaw_task() and simplify the implementation

thaw_process() now has only internal users - system and cgroup
freezers.  Remove the unnecessary return value, rename, unexport and
collapse __thaw_process() into it.  This will help further updates to
the freezer code.

-v3: oom_kill grew a use of thaw_process() while this patch was
     pending.  Convert it to use __thaw_task() for now.  In the longer
     term, this should be handled by allowing tasks to die if killed
     even if it's frozen.

-v2: minor style update as suggested by Matt.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Paul Menage <menage@google.com>
Cc: Matt Helsley <matthltc@us.ibm.com>
This commit is contained in:
Tejun Heo 2011-11-21 12:32:23 -08:00
parent 8a32c441c1
commit a5be2d0d1a
5 changed files with 18 additions and 27 deletions

View file

@ -145,18 +145,8 @@ void cancel_freezing(struct task_struct *p)
}
}
static int __thaw_process(struct task_struct *p)
{
if (frozen(p)) {
p->flags &= ~PF_FROZEN;
return 1;
}
clear_freeze_flag(p);
return 0;
}
/*
* Wake up a frozen process
* Wake up a frozen task
*
* task_lock() is needed to prevent the race with refrigerator() which may
* occur if the freezing of tasks fails. Namely, without the lock, if the
@ -164,15 +154,18 @@ static int __thaw_process(struct task_struct *p)
* refrigerator() could call frozen_process(), in which case the task would be
* frozen and no one would thaw it.
*/
int thaw_process(struct task_struct *p)
void __thaw_task(struct task_struct *p)
{
bool was_frozen;
task_lock(p);
if (__thaw_process(p) == 1) {
task_unlock(p);
wake_up_process(p);
return 1;
}
was_frozen = frozen(p);
if (was_frozen)
p->flags &= ~PF_FROZEN;
else
clear_freeze_flag(p);
task_unlock(p);
return 0;
if (was_frozen)
wake_up_process(p);
}
EXPORT_SYMBOL(thaw_process);