freezer: don't distinguish nosig tasks on thaw
authorTejun Heo <tj@kernel.org>
Mon, 21 Nov 2011 20:32:23 +0000 (12:32 -0800)
committerTejun Heo <tj@kernel.org>
Mon, 21 Nov 2011 20:32:23 +0000 (12:32 -0800)
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

index 23822dc14b6c14e61b718053cdee5d044e2bdc76..9db048fb0d702d22c4a681caddceaba3b1568baf 100644 (file)
@@ -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");
 }