public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* swsusp regression
@ 2006-07-03 22:45 Jiri Slaby
  2006-07-03 22:49 ` Pavel Machek
  2006-07-03 22:54 ` Jiri Slaby
  0 siblings, 2 replies; 9+ messages in thread
From: Jiri Slaby @ 2006-07-03 22:45 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Andrew Morton, Pavel Machek, linux-pm

Hello,

when suspending machine with hyperthreading, only Freezing cpus appears and then
it loops somewhere. I tried to catch some more info by pressing sysrq-p. Here
are some captures:
http://www.fi.muni.cz/~xslaby/sklad/03072006074.gif
http://www.fi.muni.cz/~xslaby/sklad/03072006075.gif

It was working just perfect in 2.6.17-rcX-mmXs, but from 2.6.17-mmX times (maybe
X>=3) it doesn't sleep anymore -- I may be lucky sometimes, and it is successful
also in 2.6.17-mm5, but most time everything I get is Freezing and nothing is
frozen but fishes in my fridge.

regards,
-- 
Jiri Slaby         www.fi.muni.cz/~xslaby
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-03 22:45 swsusp regression Jiri Slaby
@ 2006-07-03 22:49 ` Pavel Machek
  2006-07-03 22:59   ` Jiri Slaby
  2006-07-03 23:36   ` Jiri Slaby
  2006-07-03 22:54 ` Jiri Slaby
  1 sibling, 2 replies; 9+ messages in thread
From: Pavel Machek @ 2006-07-03 22:49 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: kernel list

Hi!

> when suspending machine with hyperthreading, only Freezing cpus appears and then
> it loops somewhere. 

Does it fail to freeze, or just lock up at that point?

Does it work okay in UP mode?

> I tried to catch some more info by pressing sysrq-p. Here
> are some captures:
> http://www.fi.muni.cz/~xslaby/sklad/03072006074.gif
> http://www.fi.muni.cz/~xslaby/sklad/03072006075.gif
> 
> It was working just perfect in 2.6.17-rcX-mmXs, but from 2.6.17-mmX times (maybe
> X>=3) it doesn't sleep anymore -- I may be lucky sometimes, and it is successful
> also in 2.6.17-mm5, but most time everything I get is Freezing and nothing is
> frozen but fishes in my fridge.

:-).
									Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-03 22:45 swsusp regression Jiri Slaby
  2006-07-03 22:49 ` Pavel Machek
@ 2006-07-03 22:54 ` Jiri Slaby
  2006-07-03 23:10   ` Andrew Morton
  1 sibling, 1 reply; 9+ messages in thread
From: Jiri Slaby @ 2006-07-03 22:54 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: Linux Kernel Mailing List, Andrew Morton, Pavel Machek, linux-pm

Jiri Slaby napsal(a):
> Hello,
> 
> when suspending machine with hyperthreading, only Freezing cpus appears and then

Note: suspending to disk; done by:
echo reboot > /sys/power/disk
echo disk > /sys/power/state

> it loops somewhere. I tried to catch some more info by pressing sysrq-p. Here
> are some captures:
> http://www.fi.muni.cz/~xslaby/sklad/03072006074.gif
> http://www.fi.muni.cz/~xslaby/sklad/03072006075.gif

One more from some previous kernels (cutted sysrq-t):
http://www.fi.muni.cz/~xslaby/sklad/22062006046.jpg

regards,
-- 
Jiri Slaby         www.fi.muni.cz/~xslaby
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-03 22:49 ` Pavel Machek
@ 2006-07-03 22:59   ` Jiri Slaby
  2006-07-03 23:36   ` Jiri Slaby
  1 sibling, 0 replies; 9+ messages in thread
From: Jiri Slaby @ 2006-07-03 22:59 UTC (permalink / raw)
  To: Pavel Machek; +Cc: kernel list

Pavel Machek napsal(a):
> Hi!
> 
>> when suspending machine with hyperthreading, only Freezing cpus appears and then
>> it loops somewhere. 
> 
> Does it fail to freeze, or just lock up at that point?

It loops, cpu is 100 % working, fans can be heard as they try to cool cpu with
absolutely no feedback to keyboard except sysrq.

> 
> Does it work okay in UP mode?

What does UP mode stands for? UniProcessor, i.e. turn HT off?

thanks,
-- 
Jiri Slaby        www.fi.muni.cz/~xslaby/
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E
<a href="http://www.fi.muni.cz/~xslaby/">Jiri Slaby</a>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-03 22:54 ` Jiri Slaby
@ 2006-07-03 23:10   ` Andrew Morton
  2006-07-03 23:51     ` Jiri Slaby
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2006-07-03 23:10 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: jirislaby, linux-kernel, pavel, linux-pm

On Tue, 04 Jul 2006 00:53:02 +0159
Jiri Slaby <jirislaby@gmail.com> wrote:

> Jiri Slaby napsal(a):
> > Hello,
> > 
> > when suspending machine with hyperthreading, only Freezing cpus appears and then
> 
> Note: suspending to disk; done by:
> echo reboot > /sys/power/disk
> echo disk > /sys/power/state
> 
> > it loops somewhere. I tried to catch some more info by pressing sysrq-p. Here
> > are some captures:
> > http://www.fi.muni.cz/~xslaby/sklad/03072006074.gif
> > http://www.fi.muni.cz/~xslaby/sklad/03072006075.gif
> 
> One more from some previous kernels (cutted sysrq-t):
> http://www.fi.muni.cz/~xslaby/sklad/22062006046.jpg
> 

If you replace kernel/stop_machine.c with the version from 2.6.17, does it
help?


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-03 22:49 ` Pavel Machek
  2006-07-03 22:59   ` Jiri Slaby
@ 2006-07-03 23:36   ` Jiri Slaby
  1 sibling, 0 replies; 9+ messages in thread
From: Jiri Slaby @ 2006-07-03 23:36 UTC (permalink / raw)
  To: Pavel Machek; +Cc: kernel list

Pavel Machek napsal(a):
> Hi!
> 
>> when suspending machine with hyperthreading, only Freezing cpus appears and then
>> it loops somewhere. 
> 
> Does it fail to freeze, or just lock up at that point?
> 
> Does it work okay in UP mode?

Seems to be fine. Going to try restore stopmachine from 2.6.17...

regards,
-- 
Jiri Slaby        www.fi.muni.cz/~xslaby/
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E
<a href="http://www.fi.muni.cz/~xslaby/">Jiri Slaby</a>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-03 23:10   ` Andrew Morton
@ 2006-07-03 23:51     ` Jiri Slaby
  2006-07-04  0:24       ` Andrew Morton
  0 siblings, 1 reply; 9+ messages in thread
From: Jiri Slaby @ 2006-07-03 23:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, pavel, linux-pm

Andrew Morton napsal(a):
> On Tue, 04 Jul 2006 00:53:02 +0159
> Jiri Slaby <jirislaby@gmail.com> wrote:
> 
>> Jiri Slaby napsal(a):
>>> Hello,
>>>
>>> when suspending machine with hyperthreading, only Freezing cpus appears and then
>> Note: suspending to disk; done by:
>> echo reboot > /sys/power/disk
>> echo disk > /sys/power/state
>>
>>> it loops somewhere. I tried to catch some more info by pressing sysrq-p. Here
>>> are some captures:
>>> http://www.fi.muni.cz/~xslaby/sklad/03072006074.gif
>>> http://www.fi.muni.cz/~xslaby/sklad/03072006075.gif
>> One more from some previous kernels (cutted sysrq-t):
>> http://www.fi.muni.cz/~xslaby/sklad/22062006046.jpg
>>
> 
> If you replace kernel/stop_machine.c with the version from 2.6.17, does it
> help?

Yup. It seems so.

regards,
-- 
Jiri Slaby        www.fi.muni.cz/~xslaby/
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E
<a href="http://www.fi.muni.cz/~xslaby/">Jiri Slaby</a>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-03 23:51     ` Jiri Slaby
@ 2006-07-04  0:24       ` Andrew Morton
  2006-07-04 10:26         ` Jiri Slaby
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2006-07-04  0:24 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: linux-kernel, pavel, linux-pm

On Tue, 04 Jul 2006 01:50:09 +0159
Jiri Slaby <jirislaby@gmail.com> wrote:

> Andrew Morton napsal(a):
> > On Tue, 04 Jul 2006 00:53:02 +0159
> > Jiri Slaby <jirislaby@gmail.com> wrote:
> > 
> >> Jiri Slaby napsal(a):
> >>> Hello,
> >>>
> >>> when suspending machine with hyperthreading, only Freezing cpus appears and then
> >> Note: suspending to disk; done by:
> >> echo reboot > /sys/power/disk
> >> echo disk > /sys/power/state
> >>
> >>> it loops somewhere. I tried to catch some more info by pressing sysrq-p. Here
> >>> are some captures:
> >>> http://www.fi.muni.cz/~xslaby/sklad/03072006074.gif
> >>> http://www.fi.muni.cz/~xslaby/sklad/03072006075.gif
> >> One more from some previous kernels (cutted sysrq-t):
> >> http://www.fi.muni.cz/~xslaby/sklad/22062006046.jpg
> >>
> > 
> > If you replace kernel/stop_machine.c with the version from 2.6.17, does it
> > help?
> 
> Yup. It seems so.
> 

OK.  I don't see what the problem is - let's just revert it.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: swsusp regression
  2006-07-04  0:24       ` Andrew Morton
@ 2006-07-04 10:26         ` Jiri Slaby
  0 siblings, 0 replies; 9+ messages in thread
From: Jiri Slaby @ 2006-07-04 10:26 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Jiri Slaby, linux-kernel, pavel, linux-pm

Andrew Morton napsal(a):
> On Tue, 04 Jul 2006 01:50:09 +0159
> Jiri Slaby <jirislaby@gmail.com> wrote:
> 
>> Andrew Morton napsal(a):
>>> On Tue, 04 Jul 2006 00:53:02 +0159
>>> Jiri Slaby <jirislaby@gmail.com> wrote:
>>>
>>>> Jiri Slaby napsal(a):
>>>>> Hello,
>>>>>
>>>>> when suspending machine with hyperthreading, only Freezing cpus appears and then
>>>> Note: suspending to disk; done by:
>>>> echo reboot > /sys/power/disk
>>>> echo disk > /sys/power/state
>>>>
>>>>> it loops somewhere. I tried to catch some more info by pressing sysrq-p. Here
>>>>> are some captures:
>>>>> http://www.fi.muni.cz/~xslaby/sklad/03072006074.gif
>>>>> http://www.fi.muni.cz/~xslaby/sklad/03072006075.gif
>>>> One more from some previous kernels (cutted sysrq-t):
>>>> http://www.fi.muni.cz/~xslaby/sklad/22062006046.jpg
>>>>
>>> If you replace kernel/stop_machine.c with the version from 2.6.17, does it
>>> help?
>> Yup. It seems so.
>>
> 
> OK.  I don't see what the problem is - let's just revert it.

I dag into that deeply and:
struct task_struct *__stop_machine_run(int (*fn)(void *), void *data,
                                       unsigned int cpu)
{
[...]
        p = kthread_create(do_stop, &smdata, "kstopmachine");
        if (!IS_ERR(p)) {
                kthread_bind(p, cpu);
                wake_up_process(p);
                wait_for_completion(&smdata.done);
[...]
So here the thread is created and kernel waits for completion. OK.


static int do_stop(void *_smdata)
{
[...]
        /* We're done: you can kthread_stop us now */
        complete(&smdata->done);

This is called, some work is done, so call complete:
void fastcall complete(struct completion *x)
{
        unsigned long flags;

        spin_lock_irqsave(&x->wait.lock, flags);
        x->done++;
        __wake_up_common(&x->wait, TASK_UNINTERRUPTIBLE | TASK_INTERRUPTIBLE,
                         1, 0, NULL);
        spin_unlock_irqrestore(&x->wait.lock, flags);
}
Nice, but spin_unlock_irqrestore never returns -- it loops in preempt_enable(),
why? Is TIF_NEED_RESCHED set all the time? Wouldn't be this the culprit?

regards,
-- 
Jiri Slaby        www.fi.muni.cz/~xslaby/
\_.-^-._   jirislaby@gmail.com   _.-^-._/
B67499670407CE62ACC8 22A032CC55C339D47A7E
<a href="http://www.fi.muni.cz/~xslaby/">Jiri Slaby</a>

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2006-07-04 10:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-03 22:45 swsusp regression Jiri Slaby
2006-07-03 22:49 ` Pavel Machek
2006-07-03 22:59   ` Jiri Slaby
2006-07-03 23:36   ` Jiri Slaby
2006-07-03 22:54 ` Jiri Slaby
2006-07-03 23:10   ` Andrew Morton
2006-07-03 23:51     ` Jiri Slaby
2006-07-04  0:24       ` Andrew Morton
2006-07-04 10:26         ` Jiri Slaby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox