interrupt and ksoftirqd

In linux, The procedure of interrupts is divided by  The Top half and The Bottom half.

  • Top half
    • mainly transfer data to repository for processing data like calling API with parameter in the programming.
    • on example, network card received packet , and then will trigger proper interrupt after storing packet data at memory somewhere in the NIC.
    • Uninterruptible by OS.
  • Bottom half
    • working .. working ..
    • can be interruptible.
      • ksoftirq calls when bottom half is too long to process queued other interrupts(the top half).
      • You can see that ksoftirqd keep CPU high when the bottom half which run too long time is working .

 

(further) need to explain with kernel source.

Leave a comment