2008-07-07 22:58:49

by Matt Helsley

[permalink] [raw]
Subject: [PATCH 4/4] Container Freezer: Skip frozen cgroups during power management resume

From: Cedric Le Goater <[email protected]>
Subject: [PATCH 4/4] Container Freezer: Skip frozen cgroups during power management resume

When a system is resumed after a suspend, it will also unfreeze
frozen cgroups.

This patchs modifies the resume sequence to skip the tasks which
are part of a frozen control group.

Signed-off-by: Cedric Le Goater <[email protected]>
Signed-off-by: Matt Helsley <[email protected]>
Tested-by: Matt Helsley <[email protected]>
---
kernel/power/process.c | 4 ++++
1 file changed, 4 insertions(+)

Index: linux-2.6.26-rc5-mm2/kernel/power/process.c
===================================================================
--- linux-2.6.26-rc5-mm2.orig/kernel/power/process.c
+++ linux-2.6.26-rc5-mm2/kernel/power/process.c
@@ -11,10 +11,11 @@
#include <linux/interrupt.h>
#include <linux/suspend.h>
#include <linux/module.h>
#include <linux/syscalls.h>
#include <linux/freezer.h>
+#include <linux/cgroup_freezer.h>

/*
* Timeout for stopping processes
*/
#define TIMEOUT (20 * HZ)
@@ -133,10 +134,13 @@ static void thaw_tasks(bool nosig_only)
continue;

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

+ if (cgroup_frozen(p))
+ continue;
+
thaw_process(p);
} while_each_thread(g, p);
read_unlock(&tasklist_lock);
}


--