Re: Problem with CFS V20 and Suspend2/tuxonice

Ingo Molnar
2007-08-25T19:02:00Z

* David Rodriguez <livuxman@gmail.com> wrote:

> I'm using 2.6.22.5 with cfs v20.3 and suspend2 2.2.10.2. With that
> combination, suspend is not working anymore (with cfs v19 was
> working). Stops on suspend in "Suspending tasks" Looking at cfs patch,
> I managed to change the migration_thread, adding again the
> try_to_freeze() removed in last patch and now the suspend finished,
> but resume not work. Of course I don't know why that was removed, and
> rewriting it is not a solution, but I want to report it.

could you try the patch below, does it fix this problem?

Ingo

Index: linux-cfs-2.6.22.5.q/kernel/sched.c
===================================================================
--- linux-cfs-2.6.22.5.q.orig/kernel/sched.c
+++ linux-cfs-2.6.22.5.q/kernel/sched.c
@@ -5043,6 +5043,8 @@ static int migration_thread(void *data)
struct migration_req *req;
struct list_head *head;

+ try_to_freeze();
+
spin_lock_irq(&rq->lock);

if (cpu_is_offline(cpu)) {
@@ -5399,6 +5401,7 @@ migration_call(struct notifier_block *nf
p = kthread_create(migration_thread, hcpu, "migration/%d", cpu);
if (IS_ERR(p))
return NOTIFY_BAD;
+ p->flags |= PF_NOFREEZE;
kthread_bind(p, cpu);
/* Must be high prio: stop_machine expects to yield to it. */
rq = task_rq_lock(p, &flags);