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.
All that in a core duo machine.
Reproduced on a Intel Centrino based laptop with gentoo kamikaze7
sources (http://forums.gentoo.org/viewtopic-t-577970.html)
On 8/25/07, David Rodriguez <[email protected]> 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.
>
> All that in a core duo machine.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
On Saturday 25 August 2007, Fabio Comolli wrote:
> On 8/25/07, David Rodriguez <[email protected]> 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.
>
> Reproduced on a Intel Centrino based laptop with gentoo kamikaze7
> sources (http://forums.gentoo.org/viewtopic-t-577970.html)
Same problem here: Core Duo, Kernel 2.6.22.5, Suspend 2.2.10, CFS v20.2.
--
Regards,
Chris
Same problem on my centrino duo. Reverting to cfs v19 fixes it.
Please personally CC me on replies, as I am not on the list.
> Reproduced on a Intel Centrino based laptop with gentoo kamikaze7
> sources (http://forums.gentoo.org/viewtopic-t-577970.html)
> On 8/25/07, David Rodriguez <[email protected]> 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.
>>
>> All that in a core duo machine.
>> -
>> To unsubscribe from this list: send the line "unsubscribe linux-kernel"
>in
>> the body of a message to [email protected]
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at http://www.tux.org/lkml/
>>
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel"
>in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
Hi!
On Sat, Aug 25, 2007 at 06:52:20PM +0200, Christian Hesse wrote:
> On Saturday 25 August 2007, Fabio Comolli wrote:
> > On 8/25/07, David Rodriguez <[email protected]> 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"
> > Reproduced on a Intel Centrino based laptop with gentoo kamikaze7
> > sources (http://forums.gentoo.org/viewtopic-t-577970.html)
>
> 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.
Regards,
Matthias
* David Rodriguez <[email protected]> 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);
* Christian Hesse <[email protected]> wrote:
> > Reproduced on a Intel Centrino based laptop with gentoo kamikaze7
> > sources (http://forums.gentoo.org/viewtopic-t-577970.html)
>
> Same problem here: Core Duo, Kernel 2.6.22.5, Suspend 2.2.10, CFS v20.2.
please try the patch below - does it fix the 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);
* Matthias Hensler <[email protected]> wrote:
> > 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)) {
@@ -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);
On Saturday, 25 August 2007 21:01, Ingo Molnar wrote:
>
> * David Rodriguez <[email protected]> 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;
Yeah.
In 2.6.23-rc all kernel threads are PF_NOFREEZE by default.
> kthread_bind(p, cpu);
> /* Must be high prio: stop_machine expects to yield to it. */
> rq = task_rq_lock(p, &flags);
> -
Greetings,
Rafael
--
"Premature optimization is the root of all evil." - Donald Knuth
On Saturday 25 August 2007, Ingo Molnar wrote:
> * Christian Hesse <[email protected]> wrote:
> > > Reproduced on a Intel Centrino based laptop with gentoo kamikaze7
> > > sources (http://forums.gentoo.org/viewtopic-t-577970.html)
> >
> > Same problem here: Core Duo, Kernel 2.6.22.5, Suspend 2.2.10, CFS v20.2.
>
> please try the patch below - does it fix the problem?
Works for me. Thanks a lot!
--
Regards,
Chris
2007/8/25, Ingo Molnar <[email protected]>:
>
> * David Rodriguez <[email protected]> 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);
>
Yes, it fixes the problem. Thanks
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?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
* Pavel Machek <[email protected]> wrote:
> > > Me too for 2.6.22.5, TuxOnIce 2.2.10 and Centrino based notebook.
> > + 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.
that fix is for .22 - the bug is a backporting bug. (i look .23's
sched.c and stuck it into .22)
Ingo
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