Hi Thomas, On Tue, Feb 24, 2026 at 05:36:49PM +0100, Thomas Gleixner wrote: > The TSC deadline timer is directly coupled to the TSC and setting the next > deadline is tedious as the clockevents core code converts the > CLOCK_MONOTONIC based absolute expiry time to a relative expiry by reading > the current time from the TSC. It converts that delta to cycles and hands > the result to lapic_next_deadline(), which then has read to the TSC and add > the delta to program the timer. > > The core code now supports coupled clock event devices and can provide the > expiry time in TSC cycles directly without reading the TSC at all. > > This obviouly works only when the TSC is the current clocksource, but > that's the default for all modern CPUs which implement the TSC deadline > timer. If the TSC is not the current clocksource (e.g. early boot) then the > core code falls back to the relative set_next_event() callback as before. > > Signed-off-by: Thomas Gleixner > Cc: x86@kernel.org After this change landed in -next as commit f246ec3478cf ("x86/apic: Enable TSC coupled programming mode"), two of my Intel-based test machines fail to boot. Unfortunately, I do not think I have any serial access on these, so I have little introspective ability. Is there any information I can provide or patches I can test to try and help figure out what is going on here? I have attached the output of lscpu of both machines, in case there is some common thread there. Cheers, Nathan # bad: [d517cb8cea012f43b069617fc8179b45404f8018] Add linux-next specific files for 20260302 # good: [11439c4635edd669ae435eec308f4ab8a0804808] Linux 7.0-rc2 git bisect start 'd517cb8cea012f43b069617fc8179b45404f8018' '11439c4635edd669ae435eec308f4ab8a0804808' # good: [30cad5d4db9212a3e9bb99be1d99c4fbc17966c7] Merge branch 'master' of https://git.kernel.org/pub/scm/linux/kernel/git/wpan/wpan-next.git git bisect good 30cad5d4db9212a3e9bb99be1d99c4fbc17966c7 # good: [5add127981db7fda704fb251de1a3a77e3282e37] Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git git bisect good 5add127981db7fda704fb251de1a3a77e3282e37 # bad: [49b56e8a6ca8c20f7d9bb8904d4b2a5bf032554a] Merge branch 'char-misc-next' of https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git git bisect bad 49b56e8a6ca8c20f7d9bb8904d4b2a5bf032554a # good: [1695e1c2db4247e8428badf667900beec51c5174] Merge branch 'for-next' of https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git git bisect good 1695e1c2db4247e8428badf667900beec51c5174 # bad: [c50f05bd3c4e992c1dfb61b14d6f7d999f1381f9] Merge branch into tip/master: 'sched/hrtick' git bisect bad c50f05bd3c4e992c1dfb61b14d6f7d999f1381f9 # bad: [343f2f4dc5425107d509d29e26ef59c2053aeaa4] hrtimer: Try to modify timers in place git bisect bad 343f2f4dc5425107d509d29e26ef59c2053aeaa4 # bad: [6abfc2bd5b0cff70db99a273f2a161e2273eae6d] hrtimer: Use guards where appropriate git bisect bad 6abfc2bd5b0cff70db99a273f2a161e2273eae6d # good: [0abec32a6836eca6b61ae81e4829f94abd4647c7] sched/hrtick: Mark hrtick timer LAZY_REARM git bisect good 0abec32a6836eca6b61ae81e4829f94abd4647c7 # good: [23028286128d817a414eee0c0a2c6cdc57a83e6f] x86/apic: Avoid the PVOPS indirection for the TSC deadline timer git bisect good 23028286128d817a414eee0c0a2c6cdc57a83e6f # bad: [f246ec3478cfdab830ee0815209f48923e7ee5e2] x86/apic: Enable TSC coupled programming mode git bisect bad f246ec3478cfdab830ee0815209f48923e7ee5e2 # good: [89f951a1e8ad781e7ac70eccddab0e0c270485f9] clockevents: Provide support for clocksource coupled comparators git bisect good 89f951a1e8ad781e7ac70eccddab0e0c270485f9 # first bad commit: [f246ec3478cfdab830ee0815209f48923e7ee5e2] x86/apic: Enable TSC coupled programming mode