PM / freezer: Clean up code after recent fixes

Clean up the code in process.c after recent changes to get rid of
unnecessary labels and goto statements.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Rafael J. Wysocki 2014-10-22 22:47:32 +02:00
parent a28e785a9f
commit 71be2114a5
1 changed files with 16 additions and 15 deletions

View File

@ -108,25 +108,27 @@ static int try_to_freeze_tasks(bool user_only)
return todo ? -EBUSY : 0; return todo ? -EBUSY : 0;
} }
static bool __check_frozen_processes(void)
{
struct task_struct *g, *p;
for_each_process_thread(g, p)
if (p != current && !freezer_should_skip(p) && !frozen(p))
return false;
return true;
}
/* /*
* Returns true if all freezable tasks (except for current) are frozen already * Returns true if all freezable tasks (except for current) are frozen already
*/ */
static bool check_frozen_processes(void) static bool check_frozen_processes(void)
{ {
struct task_struct *g, *p; bool ret;
bool ret = true;
read_lock(&tasklist_lock); read_lock(&tasklist_lock);
for_each_process_thread(g, p) { ret = __check_frozen_processes();
if (p != current && !freezer_should_skip(p) &&
!frozen(p)) {
ret = false;
goto done;
}
}
done:
read_unlock(&tasklist_lock); read_unlock(&tasklist_lock);
return ret; return ret;
} }
@ -167,15 +169,14 @@ int freeze_processes(void)
* on the way out so we have to double check for race. * on the way out so we have to double check for race.
*/ */
if (oom_kills_count() != oom_kills_saved && if (oom_kills_count() != oom_kills_saved &&
!check_frozen_processes()) { !check_frozen_processes()) {
__usermodehelper_set_disable_depth(UMH_ENABLED); __usermodehelper_set_disable_depth(UMH_ENABLED);
printk("OOM in progress."); printk("OOM in progress.");
error = -EBUSY; error = -EBUSY;
goto done; } else {
printk("done.");
} }
printk("done.");
} }
done:
printk("\n"); printk("\n");
BUG_ON(in_atomic()); BUG_ON(in_atomic());