|
@@ -347,7 +347,35 @@ connects the CPUs in a SMP system. This means that an error has been detected,
|
|
|
the IO-APIC automatically retry the transmission, so it should not be a big
|
|
|
problem, but you should read the SMP-FAQ.
|
|
|
|
|
|
-In this context it could be interesting to note the new irq directory in 2.4.
|
|
|
+In 2.6.2* /proc/interrupts was expanded again. This time the goal was for
|
|
|
+/proc/interrupts to display every IRQ vector in use by the system, not
|
|
|
+just those considered 'most important'. The new vectors are:
|
|
|
+
|
|
|
+ THR -- interrupt raised when a machine check threshold counter
|
|
|
+ (typically counting ECC corrected errors of memory or cache) exceeds
|
|
|
+ a configurable threshold. Only available on some systems.
|
|
|
+
|
|
|
+ TRM -- a thermal event interrupt occurs when a temperature threshold
|
|
|
+ has been exceeded for the CPU. This interrupt may also be generated
|
|
|
+ when the temperature drops back to normal.
|
|
|
+
|
|
|
+ SPU -- a spurious interrupt is some interrupt that was raised then lowered
|
|
|
+ by some IO device before it could be fully processed by the APIC. Hence
|
|
|
+ the APIC sees the interrupt but does not know what device it came from.
|
|
|
+ For this case the APIC will generate the interrupt with a IRQ vector
|
|
|
+ of 0xff. This might also be generated by chipset bugs.
|
|
|
+
|
|
|
+ RES, CAL, TLB -- rescheduling, call and TLB flush interrupts are
|
|
|
+ sent from one CPU to another per the needs of the OS. Typically,
|
|
|
+ their statistics are used by kernel developers and interested users to
|
|
|
+ determine the occurance of interrupt of the given type.
|
|
|
+
|
|
|
+The above IRQ vectors are displayed only when relevent. For example,
|
|
|
+the threshold vector does not exist on x86_64 platforms. Others are
|
|
|
+suppressed when the system is a uniprocessor. As of this writing, only
|
|
|
+i386 and x86_64 platforms support the new IRQ vector displays.
|
|
|
+
|
|
|
+Of some interest is the introduction of the /proc/irq directory to 2.4.
|
|
|
It could be used to set IRQ to CPU affinity, this means that you can "hook" an
|
|
|
IRQ to only one CPU, or to exclude a CPU of handling IRQs. The contents of the
|
|
|
irq subdir is one subdir for each IRQ, and one file; prof_cpu_mask
|