On Mon, Apr 23, 2018 at 05:58:01PM +0200, Peter Zijlstra wrote: > Thomas, we could not find the de-rate stuff, but the above can be > simplified; what happens is: > > cs->flags |= UNSTABLE; > schedule_work(&watchdog_work) > kthread_run(clocksource_watchdog_kthread)
Also, Thomas, do you remember why we spawn a short running kthread from a work ? Can't we simply run the whole thing from the worker thread? > __clocksource_watchdog_kthread() > if (cs->flags & UNSTABLE) > __clocksource_change_rating() > clocksource_select() >