Re: [Suspend2-devel] Problem with CFS V20 and Suspend2/tuxonice

Rafael J. Wysocki
2007-08-27T12:15:44Z

On Monday, 27 August 2007 13:41, Pavel Machek wrote:
> Hi!
>
> > > > Same problem here: Core Duo, Kernel 2.6.22.5, Suspend 2.2.10, CFS
> > > > v20.2.
> > >
> > > Me too for 2.6.22.5, TuxOnIce 2.2.10 and Centrino based notebook.
> >
> > possible bugfix below.
> >
> > 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)) {
>
> If it is NONFREEZE, you should not be trying to freeze it.
>
> > @@ -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);
>
> ...plus I believe are tasks are nonfreezable by default now...? Or is
> that only in 2.6.23?

Yes, only in 2.6.23-rc.

Greetings,
Rafael