* 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