On Fri, Jan 17, 2025 at 09:51:41AM -0800, Sean Christopherson <seanjc@xxxxxxxxxx> wrote: > That's not the problematic commit. This popped because commit 8722903cbb8f > ("sched: Define sched_clock_irqtime as static key") in the tip tree turned > sched_clock_irqtime into a static key (it was a simple "int"). > > https://lore.kernel.org/all/20250103022409.2544-2-laoar.shao@xxxxxxxxx Thanks for the analysis, it's spot on. What a bad luck. Is there a precedent for static key switching in non-preemptible contexts? More generally, why does KVM do this tsc check in vcpu_load? Shouldn't possible unstability for that cpu be already checked and decided at boot (regardless of KVM)? (Unless unstability itself is not stable property. Which means any previously measured IRQ times are skewed.) (Or a third option to revert the static-keyness if Yafang doesn't have some backing data that it improves generic performance. The robot [1] didn't like the fourth patch but that one actually adds back the complexity guarded previously.) Michal [1] https://lore.kernel.org/all/202501101033.b66070d2-lkp@xxxxxxxxx/
Attachment:
signature.asc
Description: PGP signature