Re: [PATCH] i386: Selectable Frequency of the Timer Interrupt

Lee Revell
2005-07-17T03:55:23Z

On Sat, 2005-07-16 at 19:35 -0700, Nish Aravamudan wrote:
> As you've seen, I think it depends on the timesource: for the PIT, it
> would be arch/i386/kernel/timers/timer_pit.c::setup_pit_timer().

That one looks pretty straightforward.
arch/i386/kernel/timers/timer_tsc.c really looks like fun. So many
corner cases...

BTW shouldn't this code from mark_offset_tsc():

402 if (pit_latch_buggy) {
403 /* get center value of last 3 time lutch */
404 if ((count2 >= count && count >= count1)
405 || (count1 >= count && count >= count2)) {
406 count2 = count1; count1 = count;
407 } else if ((count1 >= count2 && count2 >= count)
408 || (count >= count2 && count2 >= count1)) {
409 countmp = count;count = count2;
410 count2 = count1;count1 = countmp;
411 } else {
412 count2 = count1; count1 = count; count = count1;
413 }
414 }

use an ifdef? It only applies to cyrix_55x0, and mark_offset_tsc is a
pretty hot path.

Lee