From: tip-bot for Bin Gao <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: tglx@linutronix.de, bin.gao@intel.com, hpa@zytor.com,
linux-kernel@vger.kernel.org, peterz@infradead.org,
bin.gao@linux.intel.com, mingo@kernel.org
Subject: [tip:x86/timers] x86/tsc: Mark Intel ATOM_GOLDMONT TSC reliable
Date: Fri, 18 Nov 2016 02:05:57 -0800 [thread overview]
Message-ID: <tip-4635fdc696a8e89eead3ea1712ae6ada38538d40@git.kernel.org> (raw)
In-Reply-To: <1479241644-234277-4-git-send-email-bin.gao@linux.intel.com>
Commit-ID: 4635fdc696a8e89eead3ea1712ae6ada38538d40
Gitweb: http://git.kernel.org/tip/4635fdc696a8e89eead3ea1712ae6ada38538d40
Author: Bin Gao <bin.gao@linux.intel.com>
AuthorDate: Tue, 15 Nov 2016 12:27:23 -0800
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 18 Nov 2016 10:58:30 +0100
x86/tsc: Mark Intel ATOM_GOLDMONT TSC reliable
On Intel GOLDMONT Atom SoC TSC is the only available clocksource, so there
is no way to do software calibration or have a watchdog clocksource for it.
Software calibration is already disabled via the TSC_KNOWN_FREQ flag, but
the watchdog requirement still persists, so such systems cannot switch to
high resolution/nohz mode.
Mark it reliable, so it becomes usable. Hardware teams confirmed that this
is safe on that SoC.
Signed-off-by: Bin Gao <bin.gao@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1479241644-234277-4-git-send-email-bin.gao@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
arch/x86/kernel/tsc.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index e58c319..f4dfdaa 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -709,6 +709,13 @@ unsigned long native_calibrate_tsc(void)
*/
setup_force_cpu_cap(X86_FEATURE_TSC_KNOWN_FREQ);
+ /*
+ * For Atom SoCs TSC is the only reliable clocksource.
+ * Mark TSC reliable so no watchdog on it.
+ */
+ if (boot_cpu_data.x86_model == INTEL_FAM6_ATOM_GOLDMONT)
+ setup_force_cpu_cap(X86_FEATURE_TSC_RELIABLE);
+
return crystal_khz * ebx_numerator / eax_denominator;
}
next prev parent reply other threads:[~2016-11-18 10:07 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-15 20:27 [PATCH 0/4] x86/tsc: add X86_FEATURE_TSC_KNOWN_FREQ flag and hardware related changes Bin Gao
2016-11-15 20:27 ` [PATCH 1/4] x86/tsc: add X86_FEATURE_TSC_KNOWN_FREQ flag Bin Gao
2016-11-18 10:04 ` [tip:x86/timers] x86/tsc: Add " tip-bot for Bin Gao
2016-11-15 20:27 ` [PATCH 2/4] x86/tsc: mark TSC frequency determined by CPUID as known Bin Gao
2016-11-18 10:05 ` [tip:x86/timers] x86/tsc: Mark " tip-bot for Bin Gao
2016-11-15 20:27 ` [PATCH 3/4] x86/tsc: mark Intel ATOM_GOLDMONT TSC reliable Bin Gao
2016-11-18 10:05 ` tip-bot for Bin Gao [this message]
2016-11-15 20:27 ` [PATCH 4/4] x86/tsc: set TSC_KNOWN_FREQ and TSC_RELIABLE flags on Intel Atom SoCs Bin Gao
2016-11-18 8:21 ` Ingo Molnar
2016-11-18 10:06 ` [tip:x86/timers] x86/tsc: Set " tip-bot for Bin Gao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-4635fdc696a8e89eead3ea1712ae6ada38538d40@git.kernel.org \
--to=tipbot@zytor.com \
--cc=bin.gao@intel.com \
--cc=bin.gao@linux.intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.