Re: [PATCH] Calling check_system_tsc_reliable before unsynchronized_tsc

From: Zhenzhong Duan
Date: Mon Jun 12 2017 - 22:48:06 EST


在 2017/6/13 0:03, Thomas Gleixner 写道:
On Thu, 8 Jun 2017, Zhenzhong Duan wrote:

unsynchronized_tsc() checks value of tsc_clocksource_reliable which is set by
check_system_tsc_reliable(). It's better to move check_system_tsc_reliable()
at
front, or else this check makes no sense.

Though X86_FEATURE_CONSTANT_TSC is usually set for TSC reliable system, just
in
case.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
---
arch/x86/kernel/tsc.c | 4 ++--
1 files 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();
-
What kind of patch is that? Definitely nothing which can be applied.
To avoid using unassigned variable tsc_clocksource_reliable.
Or what's the purpose of if (tsc_clocksource_reliable) check in unsynchronized_tsc()?

--
thanks
zduan