All of lore.kernel.org
 help / color / mirror / Atom feed
From: George Anzinger <george@mvista.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] clean up FIXME in do_timer_interrupt-lock fix
Date: Sat, 19 Mar 2005 01:33:26 -0800	[thread overview]
Message-ID: <423BF1E6.9030902@mvista.com> (raw)
In-Reply-To: <20050311143459.54c74dd0.akpm@osdl.org>

[-- Attachment #1: Type: text/plain, Size: 909 bytes --]

Did you pick this up?  First sent on 3-11.

Andrew Morton wrote:
> Lee Revell <rlrevell@joe-job.com> wrote:
> 
>>On Thu, 2005-03-10 at 00:42 -0800, George Anzinger wrote:
>>
>>>This patch changes the update of the cmos clock to be timer driven
>>>rather than poll driven by the timer interrupt function.  If the clock
>>>is not being synced to an outside source the timer is removed and thus
>>>system overhead is nill in that case.  The update frequency is still ~11
>>>minutes and missing the update window still causes a retry in 60
>>>seconds.
>>
>>No replies yet.  Are there any objections to this patch?
> 
> 
> Nope.  I think it's neat.  I queued it up.

I had a nightmare about ntp coming in at the "wrong" time resulting in a
deadlock.  Attached locking changes will make me sleep better :)

-- 
George Anzinger   george@mvista.com
High-res-timers:  http://sourceforge.net/projects/high-res-timers/


[-- Attachment #2: cmos_time_lock.patch --]
[-- Type: text/plain, Size: 1205 bytes --]

Source: MontaVista Software, Inc.
Type: Defect Fix 
Disposition: Pending
Description:

I was not happy with the locking on this.  Two changes:
1) Turn off irq while setting the clock.
2) Call the timer code only through the timer interface 
   (set a short timer to do it from the ntp call).

Signed-off-by: George Anzinger <george@mvista.com>

 time.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.12-rc/arch/i386/kernel/time.c
===================================================================
--- linux-2.6.12-rc.orig/arch/i386/kernel/time.c
+++ linux-2.6.12-rc/arch/i386/kernel/time.c
@@ -176,12 +176,12 @@ static int set_rtc_mmss(unsigned long no
 	int retval;
 
 	/* gets recalled with irq locally disabled */
-	spin_lock(&rtc_lock);
+	spin_lock_irq(&rtc_lock);
 	if (efi_enabled)
 		retval = efi_set_rtc_mmss(nowtime);
 	else
 		retval = mach_set_rtc_mmss(nowtime);
-	spin_unlock(&rtc_lock);
+	spin_unlock_irq(&rtc_lock);
 
 	return retval;
 }
@@ -338,7 +338,7 @@ static void sync_cmos_clock(unsigned lon
 }
 void notify_arch_cmos_timer(void)
 {
-	sync_cmos_clock(0);
+	mod_timer(&sync_cmos_timer, jiffies + 1);
 }
 static long clock_cmos_diff, sleep_start;
 


  parent reply	other threads:[~2005-03-19  9:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-03 17:10 [PATCH] clean up FIXME in do_timer_interrupt Lee Revell
2005-03-04  0:45 ` Andrew Morton
2005-03-04  1:19   ` Lee Revell
2005-03-04 10:28     ` George Anzinger
2005-03-04 20:43       ` Lee Revell
2005-03-04 20:58         ` George Anzinger
2005-03-08 20:27           ` Lee Revell
2005-03-08 23:23             ` George Anzinger
2005-03-10  8:42               ` George Anzinger
2005-03-11 22:23                 ` Lee Revell
2005-03-11 22:34                   ` Andrew Morton
2005-03-12  2:01                     ` George Anzinger
2005-03-19  9:33                     ` George Anzinger [this message]
2005-03-19 21:21                       ` [PATCH] clean up FIXME in do_timer_interrupt-lock fix Andrew Morton
2005-03-19 22:23                         ` George Anzinger

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=423BF1E6.9030902@mvista.com \
    --to=george@mvista.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.