Yes, it's the same reason that -preempt leads, counterintuitively,
to better throughput under parallel loads. Contrary to popular
wisdom, lower latency and higher throughput are not always mutally
exclusive.
Anyway, 1 ms timer interrupt is still a snail's pace by the
standards of today's processors, it's silly to worry about it. If
somebody wants a cruder scheduling interval than the raw timer
interrupt, that's child's play, just step the interval down. The
only slightly challenging thing is do that without restricting
choice of rate for the raw timer and scheduler, respectively. Here,
a novel application of Bresenham's algorithm (the line drawing
algorithm) works nicely: at each raw interrupt, subtract the period
of the raw interrupt from an accumulator; if the result is less
than zero, add the period of the scheduler to the accumlator and
drop into the scheduler's part of the timer interrupt.
This Bresenham trick works for arbitrary collections of interrupt
rates, all with different periods. It has the property that,
over time, the total number of invocations at each rate remains
*exactly* correct, and so long as the raw interrupt runs at a
reasonably high rate, displacement isn't that bad either.
-- Daniel - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/