• Peter Zijlstra's avatar
    sched/clock: Close a hole in sched_clock_init() · 9407f5a7
    Peter Zijlstra authored
    All data required for the 'unstable' sched_clock must be set-up _before_
    enabling it -- setting sched_clock_running. This includes the
    __gtod_offset but also a recent scd stamp.
    
    Make the gtod-offset update also set the csd stamp -- it requires the
    same two clock reads _anyway_. This doesn't hurt in the
    sched_clock_tick_stable() case and ensures sched_clock_init() gets
    everything set-up before use.
    
    Also switch to unconditional IRQ-disable/enable because the static key
    stuff already requires this is not ran with IRQs disabled.
    
    Fixes: 857baa87 ("sched/clock: Enable sched clock early")
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Pavel Tatashin <pasha.tatashin@oracle.com>
    Cc: steven.sistare@oracle.com
    Cc: daniel.m.jordan@oracle.com
    Cc: linux@armlinux.org.uk
    Cc: schwidefsky@de.ibm.com
    Cc: heiko.carstens@de.ibm.com
    Cc: john.stultz@linaro.org
    Cc: sboyd@codeaurora.org
    Cc: hpa@zytor.com
    Cc: douly.fnst@cn.fujitsu.com
    Cc: prarit@redhat.com
    Cc: feng.tang@intel.com
    Cc: pmladek@suse.com
    Cc: gnomes@lxorguk.ukuu.org.uk
    Cc: linux-s390@vger.kernel.org
    Cc: boris.ostrovsky@oracle.com
    Cc: jgross@suse.com
    Cc: pbonzini@redhat.com
    Link: https://lkml.kernel.org/r/20180720080911.GM2494@hirez.programming.kicks-ass.net
    9407f5a7
clock.c 12 KB