On Mon, Apr 23, 2018 at 04:00:52PM +0200, Peter Zijlstra wrote: > On Mon, Apr 23, 2018 at 02:38:47PM +0200, Peter Zijlstra wrote: > > @@ -834,8 +857,12 @@ static int clocksource_unbind(struct clocksource *cs) > > if (curr_clocksource == cs) > > return -EBUSY; > > } > > + > > + clocksource_watchdog_lock(&flags); > > clocksource_dequeue_watchdog(cs); > > list_del_init(&cs->list); > > + clocksource_watchdog_lock(&flags); > > It works a lot better when this is _unlock(); > > > + > > return 0; > > } > > > > With that, and intel_idle.c modified to always issue the "halts in > idle" thing, my IVB comes up in hpet mode. Let me dig up a Core2 era > machine and see if that works too.
OK, that was fairly painful, but the box managed to boot a modified kernel and seems to function correctly, lemme try suspend/resume.