user3119129
user3119129

Reputation: 11

ksoftirq is NOT using CPU and should be, why?

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

Answers (1)

Guruswamy Basavaiah
Guruswamy Basavaiah

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

Related Questions