Skip to contentSkip to conversation

3.5-rcX: wakeup after s2ram doesn't work after a longer sleep time

DISCUSSION Toralf Förster 2 participants 6 messages Jul 15, 2012 – Jul 16, 2012 Timekeeping, clocksource core, NTP, alarmtimer

lore
Share & tools
lore
#0 lore raw

My ThinkPad T400 (Gentoo Linux booted from an external USB drive) does not wake up after s2ram, if the sleep time was longer than about 1 hour. I'm unsure whether this started after 3.5-rc5, at least with -rc7 I observed this now several times. Unfortunately it is not 100% reproduceable.

3.4.x works flawlessly.

Any idea whether a particular commit could be the culprit ? (Bisecting such an issue is a night mare)

Signature · 3 lines
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
#1 lore raw
Quoted 9 lines · Toralf Förster

My ThinkPad T400 (Gentoo Linux booted from an external USB drive) does not wake up after s2ram, if the sleep time was longer than about 1 hour. I'm unsure whether this started after 3.5-rc5, at least with -rc7 I observed this now several times. Unfortunately it is not 100% reproduceable.

3.4.x works flawlessly.

Any idea whether a particular commit could be the culprit ? (Bisecting such an issue is a night mare)

Please check

commit 5baefd6d84163443215f4a99f6a20f054ef11236

Author: John Stultz <[email protected]>
Date:   Tue Jul 10 18:43:25 2012 -0400

hrtimer: Update hrtimer base offsets each hrtimer_interrupt

Thanks,
Rafael

#2 lore raw
Quoted 13 lines · Rafael J. Wysocki
Quoted 9 lines · Toralf Förster

My ThinkPad T400 (Gentoo Linux booted from an external USB drive) does not wake up after s2ram, if the sleep time was longer than about 1 hour. I'm unsure whether this started after 3.5-rc5, at least with -rc7 I observed this now several times. Unfortunately it is not 100% reproduceable.

3.4.x works flawlessly.

Any idea whether a particular commit could be the culprit ? (Bisecting such an issue is a night mare)

Please check

Quoted 9 lines

commit 5baefd6d84163443215f4a99f6a20f054ef11236

Author: John Stultz <[email protected]>
Date:   Tue Jul 10 18:43:25 2012 -0400

hrtimer: Update hrtimer base offsets each hrtimer_interrupt

Thanks,
Rafael

No,
reverting doesn#t help.

I can r2ram several times in a row w/o problems, if the sleep time as within seconds.
After 20 min however the system doesn't came back (the internal hard disk spins up, but the sleep-state-led is still on).

Signature · 3 lines
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
#3 lore raw
Quoted 24 lines · Toralf Förster
Quoted 13 lines · Rafael J. Wysocki
Quoted 9 lines · Toralf Förster

My ThinkPad T400 (Gentoo Linux booted from an external USB drive) does not wake up after s2ram, if the sleep time was longer than about 1 hour. I'm unsure whether this started after 3.5-rc5, at least with -rc7 I observed this now several times. Unfortunately it is not 100% reproduceable.

3.4.x works flawlessly.

Any idea whether a particular commit could be the culprit ? (Bisecting such an issue is a night mare)

Please check

Quoted 9 lines

commit 5baefd6d84163443215f4a99f6a20f054ef11236

Author: John Stultz <[email protected]>
Date:   Tue Jul 10 18:43:25 2012 -0400

hrtimer: Update hrtimer base offsets each hrtimer_interrupt

Thanks,
Rafael

Quoted 7 lines

No,
reverting doesn#t help.

I can r2ram several times in a row w/o problems, if the sleep time as within seconds.
After 20 min however the system doesn't came back (the internal hard disk spins up, but the sleep-state-led is still on).

Well, so this is a different issue definitely.

Thanks,
Rafael

#4 lore raw
Quoted 3 lines · Rafael J. Wysocki

Well, so this is a different issue definitely.

Well, this helped : https://lkml.org/lkml/2012/7/16/113

kernel/time/timekeeping.c +1 -0
index 269b1fe..3447cfa 100644
@@ -717,6 +717,7 @@ static void timekeeping_resume(void)
        timekeeper.clock->cycle_last = timekeeper.clock->read(timekeeper.clock);
        timekeeper.ntp_error = 0;
        timekeeping_suspended = 0;
+       timekeeping_update(false);
        write_sequnlock_irqrestore(&timekeeper.lock, flags);
 
        touch_softlockup_watchdog();
Signature · 3 lines
MfG/Sincerely
Toralf Förster
pgp finger print: 7B1A 07F4 EC82 0F90 D4C2 8936 872A E508 7DB6 9DA3
#5 lore raw
Quoted 6 lines · Toralf Förster
Quoted 3 lines · Rafael J. Wysocki

Well, so this is a different issue definitely.

Well, this helped : https://lkml.org/lkml/2012/7/16/113

So, it was the same issue after all.

The patch has been merged, so it should be all good now.

Thanks,
Rafael

Quoted 14 lines
kernel/time/timekeeping.c +1 -0
index 269b1fe..3447cfa 100644
@@ -717,6 +717,7 @@ static void timekeeping_resume(void)
        timekeeper.clock->cycle_last = timekeeper.clock->read(timekeeper.clock);
        timekeeper.ntp_error = 0;
        timekeeping_suspended = 0;
+       timekeeping_update(false);
        write_sequnlock_irqrestore(&timekeeper.lock, flags);
 
        touch_softlockup_watchdog();