ksoftirqd is a per-cpu kernel thread that runs when the machine is under
heavy soft-interrupt load. Soft interrupts are normally serviced on return
from a hard interrupt, but it's possible for soft interrupts to be triggered
more quickly than they can be serviced. If a soft interrupt is triggered for a
second time while soft interrupts are being handled, the ksoftirq
daemon is triggered to handle the soft interrupts in process context. If
ksoftirqd is taking more than a tiny percentage of CPU time, this
indicates the machine is under heavy soft interrupt load.