Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752112AbdFVOFD (ORCPT ); Thu, 22 Jun 2017 10:05:03 -0400 Received: from terminus.zytor.com ([65.50.211.136]:41077 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750812AbdFVOFC (ORCPT ); Thu, 22 Jun 2017 10:05:02 -0400 Date: Thu, 22 Jun 2017 07:03:51 -0700 From: tip-bot for Zhenzhong Duan Message-ID: Cc: tglx@linutronix.de, hpa@zytor.com, linux-kernel@vger.kernel.org, mingo@kernel.org, zhenzhong.duan@oracle.com Reply-To: zhenzhong.duan@oracle.com, mingo@kernel.org, linux-kernel@vger.kernel.org, hpa@zytor.com, tglx@linutronix.de In-Reply-To: References: To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/timers] x86/tsc: Call check_system_tsc_reliable() before unsynchronized_tsc() Git-Commit-ID: a1272dd5531b259bf7313ac7597a67362698038c X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1492 Lines: 46 Commit-ID: a1272dd5531b259bf7313ac7597a67362698038c Gitweb: http://git.kernel.org/tip/a1272dd5531b259bf7313ac7597a67362698038c Author: Zhenzhong Duan AuthorDate: Wed, 21 Jun 2017 01:23:37 -0700 Committer: Thomas Gleixner CommitDate: Thu, 22 Jun 2017 16:00:03 +0200 x86/tsc: Call check_system_tsc_reliable() before unsynchronized_tsc() tsc_clocksource_reliable is initialized in check_system_tsc_reliable(), but it is checked in unsynchronized_tsc() which is called before the initialization. In practice that's not an issue because systems which mark the TSC reliable have X86_FEATURE_CONSTANT_TSC set as well, which is evaluated in unsynchronized_tsc() before tsc_clocksource_reliable. Reorder the calls so initialization happens before usage. [ tglx: Massaged changelog ] Signed-off-by: Zhenzhong Duan Signed-off-by: Thomas Gleixner Link: http://lkml.kernel.org/r/b1532ef7-cd9f-45f7-9f49-48dd2a5c2495@default --- arch/x86/kernel/tsc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 714dfba..a316bdd 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -1412,11 +1412,11 @@ void __init tsc_init(void) use_tsc_delay(); + check_system_tsc_reliable(); + if (unsynchronized_tsc()) mark_tsc_unstable("TSCs unsynchronized"); - check_system_tsc_reliable(); - detect_art(); }