mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
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:
parent
8a32c441c1
commit
a5be2d0d1a
5 changed files with 18 additions and 27 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue