• John Stultz's avatar
    timekeeping: Fix potential lost pv notification of time change · 638d188c
    John Stultz authored
    commit 5258d3f2 upstream.
    
    In 780427f0 (Indicate that clock was set in the pvclock
    gtod notifier), logic was added to pass a CLOCK_WAS_SET
    notification to the pvclock notifier chain.
    
    While that patch added a action flag returned from
    accumulate_nsecs_to_secs(), it only uses the returned value
    in one location, and not in the logarithmic accumulation.
    
    This means if a leap second triggered during the logarithmic
    accumulation (which is most likely where it would happen),
    the notification that the clock was set would not make it to
    the pv notifiers.
    
    This patch extends the logarithmic_accumulation pass down
    that action flag so proper notification will occur.
    
    This patch also changes the varialbe action -> clock_set
    per Ingo's suggestion.
    
    Cc: Sasha Levin <sasha.levin@oracle.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: David Vrabel <david.vrabel@citrix.com>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Cc: <xen-devel@lists.xen.org>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    638d188c
timekeeping.c 45.5 KB