• Kyle Walker's avatar
    clocksource: Defer override invalidation unless clock is unstable · 36374583
    Kyle Walker authored
    Clocksources don't get the VALID_FOR_HRES flag until they have been
    checked by a watchdog. However, when using an override, the
    clocksource_select logic will clear the override value if the
    clocksource is not marked VALID_FOR_HRES during that inititial check.
    When using the boot arguments clocksource=<foo>, this selection can
    run before the watchdog, and can cause the override to be incorrectly
    cleared.
    
    To address this condition, the override_name is only invalidated for
    unstable clocksources. Otherwise, the override is left intact until after
    the watchdog has validated the clocksource as stable/unstable.
    
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Richard Cochran <richardcochran@gmail.com>
    Cc: Prarit Bhargava <prarit@redhat.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: default avatarKyle Walker <kwalker@redhat.com>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    36374583
clocksource.c 28.7 KB