Re: [PATCH RESEND] Calling check_system_tsc_reliable() before unsynchronized_tsc()

From: Zhenzhong Duan
Date: Fri Jun 23 2017 - 04:30:52 EST


在 2017/6/22 21:56, Thomas Gleixner 写道:
Zhenzhong,

On Wed, 21 Jun 2017, Zhenzhong Duan wrote:

So the patch format is now correct, but the subject line is missing a
proper subsystem prefix. Please use 'git log 'path/to/patched/file' next
time to see what the usually used prefix for a file is.

In this case it's: x86/tsc

Also please do not use [PATCH RESEND] when your patch is different from the
version you sent before. Please use [PATCH v2] instead.
Got it.

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.
Please make your statements affirmative. 'It's better' is a weak expression.

Though X86_FEATURE_CONSTANT_TSC is usually set for TSC reliable system, just in
case.
So what you wanted to say here is:

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.
Exactly.

All this information is also documented in Documentation/process/.
I'll read them.

No need to resend. I'll fix it up for you this time.
Ok, thanks.

zduan