Reputation: 11
Both Linux 2.6 and 3.8. Linux setup as a router passing a 3 gig file
Doing a top, %SI is high at 30%, but ksoftirqd is doing 0% CPU. So the question is "What thread is handling the softirq???" I've read the code and it is suppose to be ksoftirqd, but it is idle.
[can't post image, not enough points]
Is this an accounting issue?
dreez
Upvotes: 1
Views: 2252
Reputation: 683
When the load can not be handled with %SI, it will be offloaded to softirqd. So you see %SI 30 and %softirqd 0.
From the man page. 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.
Upvotes: 1