* [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives.
@ 2026-05-21 13:17 Dimitri Sivanich
2026-05-21 13:20 ` [PATCH v4 1/2] x86/platform/uv: Expose the uv_hub_type() interface Dimitri Sivanich
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Dimitri Sivanich @ 2026-05-21 13:17 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Jiri Wiesner, Steve Wahl, Justin Ernst, Kyle Meyer, Russ Anderson,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Peter Zijlstra (Intel), Ilpo Järvinen,
Marco Elver, Guilherme G. Piccoli, Nikunj A Dadhania,
Xin Li (Intel), Dimitri Sivanich
HPE UV hardware and firmware is designed to ensure a reliable and
synchronized TSC mechanism. Comparing the TSC against secondary
clocksources can result in false positives due to variable access
latency caused by system traffic. The best course of action against
these false positives has been found to simply disable watchdog
checking of the TSC.
Commits [1] and [2] were introduced to avoid an issue where the TSC
is falsely declared unstable by exempting qualified platforms of up
to 4-sockets from TSC clocksource watchdog checking. Extend that
exemption to include recent and future UV platforms.
[1] commit b50db7095fe0 ("x86/tsc: Disable clocksource watchdog for TSC on qualified platorms")
[2] commit 233756a640be ("x86/tsc: Extend watchdog check exemption to 4-Sockets platform")
Dimitri Sivanich (2):
Expose the uv_hub_type() interface
Disable clocksource watchdog checking on recent and future UV
platforms.
arch/x86/include/asm/uv/uv_hub.h | 7 +++++++
arch/x86/kernel/tsc.c | 27 +++++++++++++++++++++------
2 files changed, 28 insertions(+), 6 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v4 1/2] x86/platform/uv: Expose the uv_hub_type() interface
2026-05-21 13:17 [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Dimitri Sivanich
@ 2026-05-21 13:20 ` Dimitri Sivanich
2026-05-21 13:23 ` [PATCH v4 2/2] x86/tsc: Disable clocksource watchdog checking on recent and future UV platforms Dimitri Sivanich
2026-05-21 19:30 ` [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Thomas Gleixner
2 siblings, 0 replies; 5+ messages in thread
From: Dimitri Sivanich @ 2026-05-21 13:20 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Jiri Wiesner, Steve Wahl, Justin Ernst, Kyle Meyer, Russ Anderson,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Peter Zijlstra (Intel), Ilpo Järvinen,
Marco Elver, Guilherme G. Piccoli, Nikunj A Dadhania,
Xin Li (Intel), Dimitri Sivanich
Expose the uv_hub_type() interface for use in non-UV specific code.
Signed-off-by: Dimitri Sivanich <sivanich@hpe.com>
---
arch/x86/include/asm/uv/uv_hub.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h
index ea877fd83114..5cffc5b9e989 100644
--- a/arch/x86/include/asm/uv/uv_hub.h
+++ b/arch/x86/include/asm/uv/uv_hub.h
@@ -209,10 +209,17 @@ static inline struct uv_hub_info_s *uv_cpu_hub_info(int cpu)
return (struct uv_hub_info_s *)uv_cpu_info_per(cpu)->p_uv_hub_info;
}
+#ifdef CONFIG_X86_UV
static inline int uv_hub_type(void)
{
return uv_hub_info->hub_type;
}
+#else
+static inline int uv_hub_type(void)
+{
+ return 0;
+}
+#endif
static inline __init void uv_hub_type_set(int uvmask)
{
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v4 2/2] x86/tsc: Disable clocksource watchdog checking on recent and future UV platforms.
2026-05-21 13:17 [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Dimitri Sivanich
2026-05-21 13:20 ` [PATCH v4 1/2] x86/platform/uv: Expose the uv_hub_type() interface Dimitri Sivanich
@ 2026-05-21 13:23 ` Dimitri Sivanich
2026-05-21 19:30 ` [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Thomas Gleixner
2 siblings, 0 replies; 5+ messages in thread
From: Dimitri Sivanich @ 2026-05-21 13:23 UTC (permalink / raw)
To: Linux Kernel Mailing List
Cc: Jiri Wiesner, Steve Wahl, Justin Ernst, Kyle Meyer, Russ Anderson,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Peter Zijlstra (Intel), Ilpo Järvinen,
Marco Elver, Guilherme G. Piccoli, Nikunj A Dadhania,
Xin Li (Intel), Dimitri Sivanich
HPE UV hardware and firmware is designed to ensure a reliable and
synchronized TSC mechanism. Comparing the TSC against secondary
clocksources can result in false positives due to variable access
latency caused by system traffic. The best course of action against
these false positives has been found to simply disable watchdog
checking of the TSC.
Commits [1] and [2] were introduced to avoid an issue where the TSC
is falsely declared unstable by exempting qualified platforms of up
to 4-sockets from TSC clocksource watchdog checking. Extend that
exemption to include recent and future UV platforms.
[1] 'commit b50db7095fe0 ("x86/tsc: Disable clocksource watchdog for TSC on qualified platorms")'
[2] 'commit 233756a640be ("x86/tsc: Extend watchdog check exemption to 4-Sockets platform")'
Signed-off-by: Dimitri Sivanich <sivanich@hpe.com>
---
arch/x86/kernel/tsc.c | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index c5110eb554bc..08e8e5511749 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -32,6 +32,7 @@
#include <asm/i8259.h>
#include <asm/msr.h>
#include <asm/topology.h>
+#include <asm/uv/uv_hub.h>
#include <asm/uv/uv.h>
#include <asm/sev.h>
@@ -1228,6 +1229,20 @@ static void __init tsc_disable_clocksource_watchdog(void)
clocksource_tsc.flags &= ~CLOCK_SOURCE_MUST_VERIFY;
}
+static bool __init platform_is_exempt_from_watchdog(void)
+{
+ /* Platforms with no more than 4 packages are exempt */
+ if (topology_max_packages() <= 4)
+ return true;
+
+#ifdef CONFIG_X86_64
+ /* Recent UV systems are exempt */
+ if (is_uvy_hub())
+ return true;
+#endif
+ return false;
+}
+
static void __init check_system_tsc_reliable(void)
{
#if defined(CONFIG_MGEODEGX1) || defined(CONFIG_MGEODE_LX) || defined(CONFIG_X86_GENERIC)
@@ -1246,17 +1261,17 @@ static void __init check_system_tsc_reliable(void)
tsc_clocksource_reliable = 1;
/*
- * Disable the clocksource watchdog when the system has:
- * - TSC running at constant frequency
- * - TSC which does not stop in C-States
- * - the TSC_ADJUST register which allows to detect even minimal
+ * Disable the clocksource watchdog when the system:
+ * - has TSC running at constant frequency
+ * - has TSC which does not stop in C-States
+ * - has the TSC_ADJUST register which allows to detect even minimal
* modifications
- * - not more than four packages
+ * - is exempt from running the clocksource watchdog
*/
if (boot_cpu_has(X86_FEATURE_CONSTANT_TSC) &&
boot_cpu_has(X86_FEATURE_NONSTOP_TSC) &&
boot_cpu_has(X86_FEATURE_TSC_ADJUST) &&
- topology_max_packages() <= 4)
+ platform_is_exempt_from_watchdog())
tsc_disable_clocksource_watchdog();
}
--
2.43.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives.
2026-05-21 13:17 [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Dimitri Sivanich
2026-05-21 13:20 ` [PATCH v4 1/2] x86/platform/uv: Expose the uv_hub_type() interface Dimitri Sivanich
2026-05-21 13:23 ` [PATCH v4 2/2] x86/tsc: Disable clocksource watchdog checking on recent and future UV platforms Dimitri Sivanich
@ 2026-05-21 19:30 ` Thomas Gleixner
2026-05-22 2:08 ` Dimitri Sivanich
2 siblings, 1 reply; 5+ messages in thread
From: Thomas Gleixner @ 2026-05-21 19:30 UTC (permalink / raw)
To: Dimitri Sivanich, Linux Kernel Mailing List
Cc: Jiri Wiesner, Steve Wahl, Justin Ernst, Kyle Meyer, Russ Anderson,
Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin,
Peter Zijlstra (Intel), Ilpo Järvinen, Marco Elver,
Guilherme G. Piccoli, Nikunj A Dadhania, Xin Li (Intel),
Dimitri Sivanich
On Thu, May 21 2026 at 08:17, Dimitri Sivanich wrote:
> HPE UV hardware and firmware is designed to ensure a reliable and
> synchronized TSC mechanism. Comparing the TSC against secondary
> clocksources can result in false positives due to variable access
> latency caused by system traffic. The best course of action against
> these false positives has been found to simply disable watchdog
> checking of the TSC.
>
> Commits [1] and [2] were introduced to avoid an issue where the TSC
> is falsely declared unstable by exempting qualified platforms of up
> to 4-sockets from TSC clocksource watchdog checking. Extend that
> exemption to include recent and future UV platforms.
Jiri asked you in the V3 submission:
"A new implementation of the clocksource watchdog has been merged into
the upstream kernel. One of the changes made by the new clocksource
watchdog implementation is that reference clocksource reads are made
on the boot CPU only. Perhaps, the sgi_rtc clocksource would work well
with this implementation. So, testing is needed in order to find out
if this patch are any future in the upstream Linux. Dimitri, would you
be able to run tests on UV systems to check if the new clocksource
watchdog implementation works and the hardware limitations of sgi_rtc
do not get in the way?"
This question is still not answered by you and it has been confirmed
that the new watchdog works flawlessly on a 1920 threads 16 socket
system under massive load and system traffic.
So you do not even have the courtesy to test, you just go and make the
same claims you made before based on the original watchdog
implementation.
Feel free to ignore people, but then don't be surprised when people
ignore you as well.
Thanks,
tglx
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives.
2026-05-21 19:30 ` [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Thomas Gleixner
@ 2026-05-22 2:08 ` Dimitri Sivanich
0 siblings, 0 replies; 5+ messages in thread
From: Dimitri Sivanich @ 2026-05-22 2:08 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Linux Kernel Mailing List, Jiri Wiesner, Steve Wahl, Justin Ernst,
Kyle Meyer, Russ Anderson, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86, H. Peter Anvin, Peter Zijlstra (Intel),
Ilpo Järvinen, Marco Elver, Guilherme G. Piccoli,
Nikunj A Dadhania, Xin Li (Intel), Dimitri Sivanich
On Thu, May 21, 2026 at 09:30:14PM +0200, Thomas Gleixner wrote:
> On Thu, May 21 2026 at 08:17, Dimitri Sivanich wrote:
> > HPE UV hardware and firmware is designed to ensure a reliable and
> > synchronized TSC mechanism. Comparing the TSC against secondary
> > clocksources can result in false positives due to variable access
> > latency caused by system traffic. The best course of action against
> > these false positives has been found to simply disable watchdog
> > checking of the TSC.
> >
> > Commits [1] and [2] were introduced to avoid an issue where the TSC
> > is falsely declared unstable by exempting qualified platforms of up
> > to 4-sockets from TSC clocksource watchdog checking. Extend that
> > exemption to include recent and future UV platforms.
>
> Jiri asked you in the V3 submission:
>
> "A new implementation of the clocksource watchdog has been merged into
> the upstream kernel. One of the changes made by the new clocksource
> watchdog implementation is that reference clocksource reads are made
> on the boot CPU only. Perhaps, the sgi_rtc clocksource would work well
> with this implementation. So, testing is needed in order to find out
> if this patch are any future in the upstream Linux. Dimitri, would you
> be able to run tests on UV systems to check if the new clocksource
> watchdog implementation works and the hardware limitations of sgi_rtc
> do not get in the way?"
>
> This question is still not answered by you and it has been confirmed
> that the new watchdog works flawlessly on a 1920 threads 16 socket
> system under massive load and system traffic.
I tested a 7.1-rc4 kernel on a 2048 thread 16 socket system and, while
under test, the TSC did get marked as unstable after a series of "sgi_rtc
read timed out" warnings.
>
> So you do not even have the courtesy to test, you just go and make the
> same claims you made before based on the original watchdog
> implementation.
>
> Feel free to ignore people, but then don't be surprised when people
> ignore you as well.
>
> Thanks,
>
> tglx
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-05-22 2:09 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-21 13:17 [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Dimitri Sivanich
2026-05-21 13:20 ` [PATCH v4 1/2] x86/platform/uv: Expose the uv_hub_type() interface Dimitri Sivanich
2026-05-21 13:23 ` [PATCH v4 2/2] x86/tsc: Disable clocksource watchdog checking on recent and future UV platforms Dimitri Sivanich
2026-05-21 19:30 ` [PATCH v4 0/2] x86/tsc: Exempt recent UV systems from clocksource watchdog checks to avoid false positives Thomas Gleixner
2026-05-22 2:08 ` Dimitri Sivanich
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.