LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: tip-bot for Peter Zijlstra <tipbot@zytor.com> To: linux-tip-commits@vger.kernel.org Cc: hpa@zytor.com, peterz@infradead.org, rafael.j.wysocki@intel.com, mingo@kernel.org, diego.viola@gmail.com, linux-kernel@vger.kernel.org, tglx@linutronix.de Subject: [tip:timers/urgent] x86/tsc: Always unregister clocksource_tsc_early Date: Wed, 2 May 2018 07:12:45 -0700 [thread overview] Message-ID: <tip-e9088adda13cd23249d4b0abb97ff8a81bf5573a@git.kernel.org> (raw) In-Reply-To: <20180430100344.350507853@infradead.org> Commit-ID: e9088adda13cd23249d4b0abb97ff8a81bf5573a Gitweb: https://git.kernel.org/tip/e9088adda13cd23249d4b0abb97ff8a81bf5573a Author: Peter Zijlstra <peterz@infradead.org> AuthorDate: Mon, 30 Apr 2018 12:00:09 +0200 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Wed, 2 May 2018 16:10:40 +0200 x86/tsc: Always unregister clocksource_tsc_early Don't leave the tsc-early clocksource registered if it errors out early. This was reported by Diego, who on his Core2 era machine got TSC invalidated while it was running with tsc-early (due to C-states). This results in keeping tsc-early with very bad effects. Reported-and-Tested-by: Diego Viola <diego.viola@gmail.com> Fixes: aa83c45762a2 ("x86/tsc: Introduce early tsc clocksource") Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: len.brown@intel.com Cc: rjw@rjwysocki.net Cc: diego.viola@gmail.com Cc: rui.zhang@intel.com Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/20180430100344.350507853@infradead.org --- arch/x86/kernel/tsc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c index 91e6da48cbb6..23f36bc236ba 100644 --- a/arch/x86/kernel/tsc.c +++ b/arch/x86/kernel/tsc.c @@ -1244,7 +1244,7 @@ static void tsc_refine_calibration_work(struct work_struct *work) /* Don't bother refining TSC on unstable systems */ if (tsc_unstable) - return; + goto unreg; /* * Since the work is started early in boot, we may be @@ -1297,11 +1297,12 @@ static void tsc_refine_calibration_work(struct work_struct *work) out: if (tsc_unstable) - return; + goto unreg; if (boot_cpu_has(X86_FEATURE_ART)) art_related_clocksource = &clocksource_tsc; clocksource_register_khz(&clocksource_tsc, tsc_khz); +unreg: clocksource_unregister(&clocksource_tsc_early); } @@ -1311,8 +1312,8 @@ static int __init init_tsc_clocksource(void) if (!boot_cpu_has(X86_FEATURE_TSC) || tsc_disabled > 0 || !tsc_khz) return 0; - if (check_tsc_unstable()) - return 0; + if (tsc_unstable) + goto unreg; if (tsc_clocksource_reliable) clocksource_tsc.flags &= ~CLOCK_SOURCE_MUST_VERIFY; @@ -1328,6 +1329,7 @@ static int __init init_tsc_clocksource(void) if (boot_cpu_has(X86_FEATURE_ART)) art_related_clocksource = &clocksource_tsc; clocksource_register_khz(&clocksource_tsc, tsc_khz); +unreg: clocksource_unregister(&clocksource_tsc_early); return 0; }
next prev parent reply other threads:[~2018-05-02 14:13 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-30 10:00 [PATCH v2 0/7] Various tsc/clocksource fixes Peter Zijlstra 2018-04-30 10:00 ` [PATCH v2 1/7] x86,tsc: Always unregister clocksource_tsc_early Peter Zijlstra 2018-05-02 14:12 ` tip-bot for Peter Zijlstra [this message] 2018-04-30 10:00 ` [PATCH v2 2/7] clocksource: Allow clocksource_mark_unstable() on unregisered clocksources Peter Zijlstra 2018-05-02 13:35 ` Thomas Gleixner 2018-05-02 13:53 ` Peter Zijlstra 2018-05-02 14:13 ` [tip:timers/urgent] clocksource: Allow clocksource_mark_unstable() on unregistered clocksources tip-bot for Peter Zijlstra 2018-04-30 10:00 ` [PATCH v2 3/7] clocksource: Initialize cs->wd_list Peter Zijlstra 2018-05-02 13:37 ` Thomas Gleixner 2018-05-02 13:55 ` Peter Zijlstra 2018-05-02 14:13 ` [tip:timers/urgent] " tip-bot for Peter Zijlstra 2018-04-30 10:00 ` [PATCH v2 4/7] x86,tsc: Fix mark_tsc_unstable() Peter Zijlstra 2018-05-02 14:14 ` [tip:timers/urgent] x86/tsc: " tip-bot for Peter Zijlstra 2018-04-30 10:00 ` [PATCH v2 5/7] clocksource: Consistent de-rate when marking unstable Peter Zijlstra 2018-05-02 14:14 ` [tip:timers/urgent] " tip-bot for Peter Zijlstra 2018-04-30 10:00 ` [PATCH v2 6/7] clocksource: Rework stale comment Peter Zijlstra 2018-05-02 14:15 ` [tip:timers/urgent] " tip-bot for Peter Zijlstra 2018-04-30 10:00 ` [PATCH v2 7/7] clocksource: Remove kthread Peter Zijlstra 2018-05-02 14:42 ` [tip:timers/core] " tip-bot for Peter Zijlstra 2018-05-01 9:12 ` [PATCH v2 0/7] Various tsc/clocksource fixes Rafael J. Wysocki
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-e9088adda13cd23249d4b0abb97ff8a81bf5573a@git.kernel.org \ --to=tipbot@zytor.com \ --cc=diego.viola@gmail.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=rafael.j.wysocki@intel.com \ --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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).