Messages in this thread Patch in this message | | | From | Tejun Heo <> | Subject | [PATCH 07/16] freezer: don't distinguish nosig tasks on thaw | Date | Fri, 19 Aug 2011 16:16:13 +0200 |
| |
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> --- kernel/power/process.c | 20 +++++++------------- 1 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/kernel/power/process.c b/kernel/power/process.c index ddfaba4..3eee548 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -160,34 +160,28 @@ int freeze_processes(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"); } -- 1.7.6
| |