Skip to contentSkip to conversation

Need help on Suspend on RAM

DISCUSSION Francesco VIRLINZI 2 participants 3 messages Sep 30, 2008 – Oct 8, 2008

lore
Share & tools
lore
#0 lore raw

Hi all
I'm working on Suspend on RAM on kernel 2.6.23.17 on a Sh4 based platform. The suspend on RAM seems really working.
But it I suspend the board more then 3/4 times than the system doesn't resume the user space
but via JTAG I see the kernel is running.

I enabled CONFIG_DETECT_SOFTLOCKUP and the kernel prints:

|BUG: soft lockup detected on CPU#0|

Moreover I installed the patch suggested in http://lwn.net/Articles/287024/
and it seems the kernel is running in:
- run_timer_softirq

and doing some other test I can confirm the kernel is really there...

In the board there is no real RTC... All the 'time' is based on the system timer
and between suspend/resume the timer is really stopped.

Do you have some suggestion?

Regards
Ciao
Francesco

#1 lore raw

Hi all
I think I find a fix (?)
In the file:
kernel/time/timekeeping.c
I'm removing the functions:
- timekeeping_suspend and
- timekeeping_resume
I forgot to say that I have no real ClockSource (this means that in suspend also the clocksource is suspended...)

Could it be a fix or there is an other solution?
Regards
Francesco

Francesco VIRLINZI ha scritto:

Quoted 33 lines

Hi all
I'm working on Suspend on RAM on kernel 2.6.23.17 on a Sh4 based platform. The suspend on RAM seems really working.
But it I suspend the board more then 3/4 times than the system doesn't resume the user space
but via JTAG I see the kernel is running.

I enabled CONFIG_DETECT_SOFTLOCKUP and the kernel prints:

|BUG: soft lockup detected on CPU#0|

Moreover I installed the patch suggested in http://lwn.net/Articles/287024/
and it seems the kernel is running in:
- run_timer_softirq

and doing some other test I can confirm the kernel is really there...

In the board there is no real RTC... All the 'time' is based on the system timer
and between suspend/resume the timer is really stopped.

Do you have some suggestion?

Regards
Ciao
Francesco
_______________________________________________
linux-pm mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

#2 lore raw
Quoted 9 lines · Francesco VIRLINZI

Hi all
I think I find a fix (?)
In the file:
kernel/time/timekeeping.c
I'm removing the functions:
- timekeeping_suspend and
- timekeeping_resume
I forgot to say that I have no real ClockSource (this means that in suspend also the clocksource is suspended...)

Simply commenting this out is probably not the right solution.. could you find why it breaks your system and talk to tglx?

Pavel

Quoted 42 lines

Regards
Francesco

Francesco VIRLINZI ha scritto:

Quoted 24 lines

Hi all
I'm working on Suspend on RAM on kernel 2.6.23.17 on a Sh4 based platform. The suspend on RAM seems really working.
But it I suspend the board more then 3/4 times than the system doesn't resume the user space
but via JTAG I see the kernel is running.

I enabled CONFIG_DETECT_SOFTLOCKUP and the kernel prints:

|BUG: soft lockup detected on CPU#0|

Moreover I installed the patch suggested in http://lwn.net/Articles/287024/
and it seems the kernel is running in:
- run_timer_softirq

and doing some other test I can confirm the kernel is really there...

In the board there is no real RTC... All the 'time' is based on the system timer
and between suspend/resume the timer is really stopped.

Do you have some suggestion?

Quoted 9 lines

Regards
Ciao
Francesco
_______________________________________________
linux-pm mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

_______________________________________________
linux-pm mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/linux-pm

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