x86 local timer interrupts getting lost

From: David Wragg (dpw@doc.ic.ac.uk)
Date: Thu Nov 30 2000 - 20:30:31 EST


I've noticed that on dual processor machines, the two values in the
LOC: line of /proc/interrupts are not in lockstep -- the difference
between them varies. Using a perl script (below) to print out the
difference every second, I see it wander around (by much more than the
+/-1 error that /proc/interrupts involves). Sometimes the difference
will jump, usually when the machine is under heavier interrupt load.
I've seen jumps of more than 10, up and down on the same machine.

The machines I've been testing this on are a dual PPro and a dual
Celeron, both running 2.4.0-test11.

Looking at the APIC documentation, it seems unlikely that the
frequency of the local timer interrupts could be wandering differently
on the two processors, so I suspect that the interrupts are actually
getting lost. Does anyone know how this could be happening?

The perl script:

perl -e 'while(1) { open(IN, "</proc/interrupts") ; while (<IN>) { next unless /LOC:/; ($a, $b, $c) = split; } close(IN); print (($b - $c) . "\n"); sleep(1); }'

David Wragg
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 30 2000 - 21:00:26 EST