Interrupts


 

 

Kernel Comparison: Linux (2.6.28) versus Windows (Vista SP1)

 

 

Interrupts

First Level Interrupt Handling

First Level Interrupt Handling (FLIH) Linux Windows
First-Level Interrupt Handler (#9, #10) ISR ISR
prioritised First-Level Interrupt Handler (-, #122) N Y
preemptive First-Level Interrupt Handler (-, #122) N Y
interrupt priority levels (IPL) (#13, #14) 1 32

 

Second Level Interrupt Handling

Second Level Interrupt Handling (SLIH) Linux Windows
Second-Level Interrupt Handler (#11, #12) softIRQ/tasklet DPC
interrupt classes - "softIRQ types" (#163, #164) 32 (4 used) -
prioritised Second-Level Interrupt Handler (SLIH) (-, #122) Y Y
preemptive Second-Level Interrupt Handler (-, #122) N Y
interrupt priority levels (IPL) (#161, #162) 1 3

 

Multiprocessor Interrupt

Interrupts (multiprocessor/multicore?) Linux Windows
all CPUs - First-Level Interrupt Handler (FLIH) (#512, #512) Y Y
all CPUs - Second-Level Interrupt Handler (SLIH) (#512 #11, #512 #11) Y Y

 

Interrupt Scaling

Interrupt (enhancement) Linux Windows
Adaptive Interrupt Coalescing (#167, #168) Y Y

 

Hardware

Hardware Linux Windows
PIC Y Y
APIC (LAPIC & I/O APIC) Y Y
IPI Y Y

 

Interrupt Performance

Interrupt (performance) Linux Windows
interrupt latency (average) (#155, #15610) 11uS

5uS (custom)

36uS10
interrupt latency (maximum) (#191, #19210) 1000uS 45000uS10

 

 

<-Prev|Next->

 

Johnathon Weare © Johnny Weare 2009