1. 28 Mar, 2006 1 commit
    • Matt Mackall's avatar
      [PATCH] RTC: Remove RTC UIP synchronization on x86 · 63732c2f
      Matt Mackall authored
      Reading the CMOS clock on x86 and some other arches currently takes up to one
      second because it synchronizes with the CMOS second tick-over.  This delay
      shows up at boot time as well a resume time.
      
      This is the currently the most substantial boot time delay for machines that
      are working towards instant-on capability.  Also, a quick back of the envelope
      calculation (.5sec * 2M users * 1 boot a day * 10 years) suggests it has cost
      Linux users in the neighborhood of a million man-hours.
      
      An earlier thread on this topic is here:
      
      http://groups.google.com/group/linux.kernel/browse_frm/thread/8a24255215ff6151/2aa97e66a977653d?hl=en&lr=&ie=UTF-8&rnum=1&prev=/groups%3Fhl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D1To2R-2S7-11%40gated-at.bofh.it#2aa97e66a977653d
      
      ..from which the consensus seems to be that it's no longer desirable.
      
      In my view, there are basically four cases to consider:
      
      1) networked, need precise walltime: use NTP
      2) networked, don't need precise walltime: use NTP anyway
      3) not networked, don't need sub-second precision walltime: don't care
      4) not networked, need sub-second precision walltime:
         get a network or a radio time source because RTC isn't good enough anyway
      
      So this patch series simply removes the synchronization in favor of a simple
      seqlock-like approach using the seconds value.
      
      Note that for purposes of timer accuracy on wakeup, this patch will cause us
      to fire timers up to one second late.  But as the current timer resume code
      will already sync once (or more!), it's no worse for short timers.
      Signed-off-by: default avatarMatt Mackall <mpm@selenic.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      63732c2f
  2. 27 Mar, 2006 39 commits