On Tue, Jun 17, 2014 at 07:27:31PM -0700, Andi Kleen wrote: > > OK. What would you suggest instead? If all we do is to revert the > > Hang checker should have two timer phases: > > Timer fires first time: > - Save context switch counter on that. Force a reschedule to some > work queue. Rearm timer > > Timer fires again: > - Check reschedule count. If the reschedule count changed > it was a real hang, otherwise ignore.
I could take that approach, but the RT guys aren't going to thank me for the wakeup associated with the work queue. I suppose that I could use one approach for real-time workloads and your workqueue-base approach for other workloads. Still, I bet I can drop the common-case cond_resched() overhead to a single read of a per-CPU variable and a branch. But yes, that would be in response to the second phase, FWIW. If that measurably too much overhead, then one thing for realtime and another otherwise. Thanx, Paul -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/