Re: [TuxOnIce-devel] Fix for timekeeping based hang on resume with 3.5-rc7 (was: Fwd: Re: Linux 3.5-rc7)

Martin Steigerwald <[email protected]> Mon, 16 Jul 2012 19:01:57 +0200
Newsgroups gmane.linux.swsusp.general,gmane.linux.swsusp.devel
Message-ID <[email protected]>
Am Montag, 16. Juli 2012 schrieb Martin Steigerwald:
> Hi!
> 
> I am first testing this with plain vanilla. If it works I will try
> TuxOnIce tree again.

Fix works with plain vanilla. Now compiling TuxOnIce with this as well.

Thanks,
Martin

> 
> Thanks,
> Martin
> 
> ----------  Weitergeleitete Nachricht  ----------
> 
> Subject: Re: Linux 3.5-rc7
> Date: Montag, 16. Juli 2012
> From: Linus Torvalds <[email protected]>
> To: Martin Steigerwald <[email protected]>
> 
> On Mon, Jul 16, 2012 at 9:28 AM, Martin Steigerwald
> <[email protected]>
> 
> wrote:
> > Regresses badly on resume from in-kernel hibernation. I.e. hangs with
> 
> some
> 
> > red graphics artifacts on the tty. The same artifacts appear for a
> > short time with rc6 + some commits as well, but there then X.org is
> > available again.
> 
> There's a one-liner fix for this bouncing around.
> 
> Appended is a white-space damaged cut-and-paste version of the fix, so
> you'll need to either find the original patch (search the kernel
> mailing list for "Excessive delay or hang during resume from system
> suspend due to a hrtimer commit"), or just edit in the one-liner by
> hand.
> 
> This should fix it (there's apparently a question on whether the
> "false" should be "true", but that's an independent detail, it's worth
> verifying in this form regardless).
> 
>                Linus
> ---
> diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
> index 269b1fe..3447cfa 100644
> --- a/kernel/time/timekeeping.c
> +++ b/kernel/time/timekeeping.c
> @@ -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();
> 
> -------------------------------------------------------


-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7