[PATCH v2 17/38] x86/tsc: WARN if TSC sched_clock save/restore used with PV sched_clock

From: Sean Christopherson
Date: Wed Feb 26 2025 - 21:25:27 EST


Now that all PV clocksources override the sched_clock save/restore hooks
when overriding sched_clock, WARN if the "default" TSC hooks are invoked
when using a PV sched_clock, e.g. to guard against regressions.

Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx>
---
arch/x86/kernel/tsc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index 472d6c71d3a5..5501d76243c8 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -990,7 +990,7 @@ static unsigned long long cyc2ns_suspend;

void tsc_save_sched_clock_state(void)
{
- if (!sched_clock_stable())
+ if (!sched_clock_stable() || WARN_ON_ONCE(!using_native_sched_clock()))
return;

cyc2ns_suspend = sched_clock();
@@ -1010,7 +1010,7 @@ void tsc_restore_sched_clock_state(void)
unsigned long flags;
int cpu;

- if (!sched_clock_stable())
+ if (!sched_clock_stable() || WARN_ON_ONCE(!using_native_sched_clock()))
return;

local_irq_save(flags);
--
2.48.1.711.g2feabab25a-goog