From: Feng Tang <feng.tang@intel.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
"Dave Hansen" <dave.hansen@intel.com>,
"H . Peter Anvin" <hpa@zytor.com>,
"Peter Zijlstra" <peterz@infradead.org>, <paulmck@kernel.org>,
<rui.zhang@intel.com>, <x86@kernel.org>,
<linux-kernel@vger.kernel.org>, <bin.gao@intel.com>
Subject: Re: [PATCH RFC] x86/tsc: Make recalibration default on for TSC_KNOWN_FREQ cases
Date: Mon, 22 May 2023 23:20:15 +0800 [thread overview]
Message-ID: <ZGuIL6tyzzZP3kyR@feng-clx> (raw)
In-Reply-To: <87pm6swi7z.ffs@tglx>
On Mon, May 22, 2023 at 04:31:28PM +0200, Thomas Gleixner wrote:
> On Mon, May 22 2023 at 21:00, Feng Tang wrote:
> > On Mon, May 22, 2023 at 01:49:53PM +0200, Thomas Gleixner wrote:
> >> > Paul and Rui can provide more info. AFAIK, those problems were raised
> >> > by external customers, so the platform were already shipped from
> >> > Intel. But I'm not sure they are commercial versions or early
> >> > engineering drops.
> >>
> >> So its at a company which knows how to update firmware, right?
> >
> > Yes. And the recalibration may help to exposed the bug quickly.
>
> That should be exposed _before_ crappy firmware is shipped and
> validation can use the command line parameter. I'm tired of this
> constant source of embarrassing stupidity. It's not rocket science to
> catch this before shipping.
>
> And guess what. Making this easy to recover from is just not making the
> situation any better because firmware people will even care less.
I can't argue with that :)
> >> and five lines further down:
> >>
> >> /*
> >> * 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);
> >>
> >> So its reliable and needs recalibration against hardware which does not
> >> exist.
> >
> > I misunderstood it. When you said 'SOCs which lack legacy hardware',
> > I thought you were referring those old Merrifield/Medfield things,
> > which may have no HPET/ACPI PM_Timer but an APB timer, and mainly go
> > through MSR way (tsc_msr.c) for TSC frequency.
> >
> > In this native_calibrate_tsc(), which touches the INTEL_FAM6_ATOM_GOLDMONT
> > and INTEL_FAM6_ATOM_GOLDMONT_D, I dug out one Apollo Lake and one
> > Denverton platform (which comply to those GOLDMNOT model), and they
> > both have 'hpet' and 'acpi_pm' clocksource registered.
>
> So that comment is wrong and that commit log is from fantasy land?
>
> http://lkml.kernel.org/r/1479241644-234277-4-git-send-email-bin.gao@linux.intel.com
>
> Clearly the left hand is not knowing what the right hand is doing.
I started working on Atom (Moorestown) in about 2008, and moved to
other platforms before the time of the patch.
And I don't understand the commit log: "On Intel GOLDMONT Atom SoC
TSC is the only reliable clocksource. We mark TSC reliable to avoid
watchdog on it."
Clearly the Denventon I found today has both HPET and ACPI_PM timer:
[root@dnv0 ~]# grep . /sys/devices/system/clocksource/clocksource0/*
/sys/devices/system/clocksource/clocksource0/available_clocksource:tsc hpet acpi_pm
/sys/devices/system/clocksource/clocksource0/current_clocksource:tsc
The lscpu info is:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel(R) Corporation
Model name: Intel(R) Atom(TM) CPU C3850 @ 2.10GHz
BIOS Model name: Intel(R) Atom(TM) CPU C3850 @ 2.10GHz CPU @ 2.1GHz
BIOS CPU family: 43
CPU family: 6
Model: 95
Thread(s) per core: 1
Core(s) per socket: 12
Socket(s): 1
Stepping: 1
Maybe this cpu model (0x5F) has been used by some type of platforms
which has met the false alarm watchdog issue.
Thanks,
Feng
> Thanks,
>
> tglx
next prev parent reply other threads:[~2023-05-22 15:27 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-22 3:30 [PATCH RFC] x86/tsc: Make recalibration default on for TSC_KNOWN_FREQ cases Feng Tang
2023-05-22 8:14 ` Thomas Gleixner
2023-05-22 8:47 ` Feng Tang
2023-05-22 11:49 ` Thomas Gleixner
2023-05-22 13:00 ` Feng Tang
2023-05-22 14:31 ` Thomas Gleixner
2023-05-22 15:20 ` Feng Tang [this message]
2023-05-22 16:11 ` Peter Zijlstra
2023-05-23 1:18 ` Feng Tang
2023-05-23 8:11 ` Peter Zijlstra
2023-05-23 14:31 ` Feng Tang
2023-06-02 18:29 ` Paul E. McKenney
2023-06-02 18:36 ` Dave Hansen
2023-06-02 19:08 ` Paul E. McKenney
2023-06-05 1:04 ` Feng Tang
2023-06-08 16:58 ` Paul E. McKenney
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=ZGuIL6tyzzZP3kyR@feng-clx \
--to=feng.tang@intel.com \
--cc=bin.gao@intel.com \
--cc=bp@alien8.de \
--cc=dave.hansen@intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=rui.zhang@intel.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox