On Fri, Jul 18, 2014 at 06:43:39PM +0100, Pawel Moll wrote: > > This code definitely needs more work and testing (I'm not 100% > sure if the Kp and Ki I've picked for the proportional and > integral terms are universal),
I wouldn't bet on it. > but for now wanted to see > if this approach makes any sense whatsoever. You are reading sched_clock and mono-raw together every so often. Really stupid question: Why not just place that information into the trace buffer and let user space do the clock correction? ... > + /* Tune the cyc_to_ns formula */ > + mult_adj = sign * (error >> 2) + (cd.error_int >> 2); So Kp = Ki = 0.25? And did you say that the sample rate is 10/second? I guess that, while this works well on your machine, it might not always do so, depending on the mono-raw clock. Probably Kp/i need to be tunable to a particular system. Even better would be to leave this out of the kernel altogether. Thanks, Richard -- 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/