linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mikael Pettersson <mikpe@csd.uu.se>
To: linux-kernel@vger.kernel.org, plazmcman@softhome.net
Subject: Re: Screwy clock after apm suspend
Date: Wed, 29 Dec 2004 12:38:37 +0100 (MET)	[thread overview]
Message-ID: <200412291138.iBTBcbw6023631@harpo.it.uu.se> (raw)

On Tue, 28 Dec 2004 16:29:44 -0800, Brannon Klopfer wrote:
>2.6.10 screws up my system clock.
>Two kernel/hardware clock readings, before and after suspend.
>-------------
>plaz@gonzo:~$ date ;hwclock
>Tue Dec 28 15:52:39 PST 2004
>Tue Dec 28 14:54:07 2004 -0.503621 seconds
>#suspend, resume
>plaz@gonzo:~$ date ;hwclock
>Tue Dec 28 16:11:58 PST 2004
>Tue Dec 28 15:04:06 2004 -0.168262 seconds
...
>I did not have this problem with 2.6.9. My machine uses APM, clock 
>stores local time (specified in kernel config). I use PIT for 
>timesource, as others were losing ticks when on battery power (changes 
>CPU clock speed). Again, did _not_ have this problem with 2.6.9.

I reported this problem a while ago for 2.6.10-rc1:
http://marc.theaimsgroup.com/?l=linux-kernel&m=110172841429272&w=2.
At the time I thought the APM daemon's hwclock --hctosys at resume
might be in conflict with the kernel change, but I've since disabled
that and it didn't solve the problem.

For now, I'm using the patch below to revert the i386 time.c's
behaviour to what it was before the broken change in 2.6.10-rc1.

/Mikael

--- linux-2.6.10/arch/i386/kernel/time.c.~1~	2004-12-25 12:16:17.000000000 +0100
+++ linux-2.6.10/arch/i386/kernel/time.c	2004-12-25 23:56:19.000000000 +0100
@@ -319,7 +319,7 @@ unsigned long get_cmos_time(void)
 	return retval;
 }
 
-static long clock_cmos_diff, sleep_start;
+static long clock_cmos_diff;
 
 static int timer_suspend(struct sys_device *dev, u32 state)
 {
@@ -328,7 +328,6 @@ static int timer_suspend(struct sys_devi
 	 */
 	clock_cmos_diff = -get_cmos_time();
 	clock_cmos_diff += get_seconds();
-	sleep_start = get_cmos_time();
 	return 0;
 }
 
@@ -336,19 +335,16 @@ static int timer_resume(struct sys_devic
 {
 	unsigned long flags;
 	unsigned long sec;
-	unsigned long sleep_length;
 
 #ifdef CONFIG_HPET_TIMER
 	if (is_hpet_enabled())
 		hpet_reenable();
 #endif
 	sec = get_cmos_time() + clock_cmos_diff;
-	sleep_length = get_cmos_time() - sleep_start;
 	write_seqlock_irqsave(&xtime_lock, flags);
 	xtime.tv_sec = sec;
 	xtime.tv_nsec = 0;
 	write_sequnlock_irqrestore(&xtime_lock, flags);
-	jiffies += sleep_length * HZ;
 	return 0;
 }
 

             reply	other threads:[~2004-12-29 11:38 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-29 11:38 Mikael Pettersson [this message]
2005-01-03 17:34 ` Screwy clock after apm suspend Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2005-01-15 18:30 Mikael Pettersson
2005-01-16 19:47 ` Alex Romosan
2005-01-07 18:08 Shaw
2005-01-09 22:47 ` Pavel Machek
2005-01-10  2:15   ` Alex Romosan
2005-01-10  7:28   ` Shaw
2005-01-10  7:44     ` bernard
2005-01-10 10:57       ` Pavel Machek
2005-01-10 17:48         ` Bernard Blackham
2005-01-11  0:14           ` Pavel Machek
2005-01-11  1:10             ` Nigel Cunningham
2005-01-11  3:12               ` Pavel Machek
2005-01-11  1:16             ` Bernard Blackham
2005-01-11  3:21               ` Pavel Machek
2005-01-11 12:36               ` Mikael Pettersson
2005-01-11 13:10                 ` Pavel Machek
2005-01-11 14:15                   ` Mikael Pettersson
2005-01-11 20:18                     ` Pavel Machek
2005-01-11  3:13             ` Stephen Rothwell
2005-01-11  3:19               ` Pavel Machek
2005-01-11 12:32                 ` Mikael Pettersson
2004-12-29  0:29 Brannon Klopfer
2004-12-29  1:18 ` Nigel Cunningham

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200412291138.iBTBcbw6023631@harpo.it.uu.se \
    --to=mikpe@csd.uu.se \
    --cc=linux-kernel@vger.kernel.org \
    --cc=plazmcman@softhome.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).