Why cant we just kill ksofirqd, what does it do.
Coz it takes 95% of all my cpu.
Sollie.
Ps: try for your self:
code: top -d 1
Nah, look on google. Its an worldwide problem.
But i could not find the problem.
Sollie.
I did a little research on this topic because I'm convinced that ksoftiqd is negatively impacting the routers performance due to non-stop context switching between userland and the kernel.
Some argue that it's no worse that the the idle thread, but I'm not so sure. At a minimum, you lose any power management built into the processor while it idles.
Improperly written interrupt handlers are the normal root cause. Ksoftirqd sits between the interrupt handler front end and back end and is responsible for dispatching "soft" interrupts. The front end services the interrupt at the HW level and the back end processes the data. Apparently when a device driver does not properly interface with ksoftirqd's event queue, it can enter this state.
It's still on my to-do list to do some more homework on this issue. However, if the offending driver is one of the binary drivers from Broadcom/Asus, we may be out of luck.
I think with a little debug code, I can find the offending driver. The ksoftirqd code was not overly complicated. Fixing it, OTOH, may be much more difficult.
- K.C.
K, thanks. Then i keep it running
I will wait...
Don't waste your time. ksoftirqd is just real worker for the network interrupts. Network card interrupt service routine just schedules softirq to perform real packet processing. This is by design. More packets -- higher load.