]> git.baikalelectronics.ru Git - kernel.git/commit
x86/tsc: Limit the adjust value further
authorThomas Gleixner <tglx@linutronix.de>
Sun, 18 Dec 2016 14:09:29 +0000 (15:09 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 18 Dec 2016 15:37:04 +0000 (16:37 +0100)
commit33335fb22d3ffe26c39c37ae558b0c858a6ad9d8
treea7c523bcdbf1d0ff9a6b48ca09a3b0e745f15859
parentab131d5d297536ce52f8b6ebea63b6a7f70702e5
x86/tsc: Limit the adjust value further

Adjust value 0x80000000 and other values larger than that render the TSC
deadline timer disfunctional.

We have not yet any information about this from Intel, but experimentation
clearly proves that this is a 32/64 bit and sign extension issue.

If adjust values larger than that are actually required, which might be the
case for physical CPU hotplug, then we need to disable the deadline timer
on the affected package/CPUs and use the local APIC timer instead.

That requires some surgery in the APIC setup code, so we just limit the
ADJUST register value into the known to work range for now and revisit this
when Intel comes forth with proper information.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Roland Scheidegger <rscheidegger_lists@hispeed.ch>
Cc: Bruce Schlobohm <bruce.schlobohm@intel.com>
Cc: Kevin Stanton <kevin.b.stanton@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Borislav Petkov <bp@alien8.de>
arch/x86/kernel/tsc_sync.c