• Prarit Bhargava's avatar
    x86: Do full rtc synchronization with ntp · 3195ef59
    Prarit Bhargava authored
    Every 11 minutes ntp attempts to update the x86 rtc with the current
    system time.  Currently, the x86 code only updates the rtc if the system
    time is within +/-15 minutes of the current value of the rtc. This
    was done originally to avoid setting the RTC if the RTC was in localtime
    mode (common with Windows dualbooting).  Other architectures do a full
    synchronization and now that we have better infrastructure to detect
    when the RTC is in localtime, there is no reason that x86 should be
    software limited to a 30 minute window.
    
    This patch changes the behavior of the kernel to do a full synchronization
    (year, month, day, hour, minute, and second) of the rtc when ntp requests
    a synchronization between the system time and the rtc.
    
    I've used the RTC library functions in this patchset as they do all the
    required bounds checking.
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: x86@kernel.org
    Cc: Matt Fleming <matt.fleming@intel.com>
    Cc: David Vrabel <david.vrabel@citrix.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: linux-efi@vger.kernel.org
    Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
    [jstultz: Tweak commit message, fold in build fix found by fengguang
    Also add select RTC_LIB to X86, per new dependency, as found by prarit]
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    3195ef59
vrtc.c 4.26 KB