Skip to content

Commit

Permalink
freezer: don't distinguish nosig tasks on thaw
Browse files Browse the repository at this point in the history
There's no point in thawing nosig tasks before others.  There's no
ordering requirement between the two groups on thaw, which the staged
thawing can't guarantee anyway.  Simplify thaw_processes() by removing
the distinction and collapsing thaw_tasks() into thaw_processes().
This will help further updates to freezer.

Signed-off-by: Tejun Heo <tj@kernel.org>
  • Loading branch information
Tejun Heo committed Nov 21, 2011
1 parent a585042 commit 6cd8ded
Showing 1 changed file with 7 additions and 13 deletions.
20 changes: 7 additions & 13 deletions kernel/power/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -170,34 +170,28 @@ int freeze_kernel_threads(void)
return error;
}

static void thaw_tasks(bool nosig_only)
void thaw_processes(void)
{
struct task_struct *g, *p;

oom_killer_enable();

printk("Restarting tasks ... ");

thaw_workqueues();

read_lock(&tasklist_lock);
do_each_thread(g, p) {
if (!freezable(p))
continue;

if (nosig_only && should_send_signal(p))
continue;

if (cgroup_freezing_or_frozen(p))
continue;

__thaw_task(p);
} while_each_thread(g, p);
read_unlock(&tasklist_lock);
}

void thaw_processes(void)
{
oom_killer_enable();

printk("Restarting tasks ... ");
thaw_workqueues();
thaw_tasks(true);
thaw_tasks(false);
schedule();
printk("done.\n");
}
Expand Down

0 comments on commit 6cd8ded

Please sign in to comment.