On Fri, 2005-03-04 at 12:58 -0800, George Anzinger wrote:
Lee Revell wrote:
On Fri, 2005-03-04 at 02:28 -0800, George Anzinger wrote:
The thing that brought this code to my attention is that with PREEMPT_RT
this happens to be the longest non-preemptible code path in the kernel.
On my 1.3 Ghz machine set_rtc_mmss takes about 50 usecs, combined with
the rest of timer irq we end up disabling preemption for about 90 usecs.
Unfortunately I don't have the trace anymore.
Anyway the upshot is if we hung this off a timer it looks like we would
improve the worst case latency with PREEMPT_RT by almost 50%. Unless
there is some reason it has to be done synchronously of course.
Well, it does have to be done at the right WRT the second, but I suspect we can hit that as well with a timer as it is hit now. Also, if we are _really_ off the mark, this can be defered till the next second.
Do you have a patch?
Andrew merged my trivial patch to clean up the logic, but a real fix
would be better.