Skip to content
  • Pavel Tatashin's avatar
    x86/tsc: Redefine notsc to behave as tsc=unstable · fe9af81e
    Pavel Tatashin authored
    
    
    Currently, the notsc kernel parameter disables the use of the TSC by
    sched_clock(). However, this parameter does not prevent the kernel from
    accessing tsc in other places.
    
    The only rationale to boot with notsc is to avoid timing discrepancies on
    multi-socket systems where TSC are not properly synchronized, and thus
    exclude TSC from being used for time keeping. But that prevents using TSC
    as sched_clock() as well, which is not necessary as the core sched_clock()
    implementation can handle non synchronized TSC based sched clocks just
    fine.
    
    However, there is another method to solve the above problem: booting with
    tsc=unstable parameter. This parameter allows sched_clock() to use TSC and
    just excludes it from timekeeping.
    
    So there is no real reason to keep notsc, but for compatibility reasons the
    parameter has to stay. Make it behave like 'tsc=unstable' instead.
    
    [ tglx: Massaged changelog ]
    
    Signed-off-by: default avatarPavel Tatashin <pasha.tatashin@oracle.com>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Reviewed-by: default avatarDou Liyang <douly.fnst@cn.fujitsu.com>
    Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
    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: peterz@infradead.org
    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/20180719205545.16512-12-pasha.tatashin@oracle.com
    fe9af81e