Results 1 to 8 of 8

Thread: What is ksofirqd!!!

  1. #1

    What is ksofirqd!!!

    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

  2. #2
    Quote Originally Posted by sollie View Post
    Why cant we just kill ksofirqd, what does it do.
    Coz it takes 95% of all my cpu.
    could it be the reverse of load? like your system has a 100% - 95% = 5% load?

    I suspect so
    /regards
    Henrik

  3. #3
    Nah, look on google. Its an worldwide problem.
    But i could not find the problem.

    Sollie.

  4. #4
    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.

  5. #5
    K, thanks. Then i keep it running

    I will wait...

  6. #6
    Join Date
    Dec 2003
    Location
    Russian Federation
    Posts
    8,353
    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.

  7. #7
    Quote Originally Posted by Oleg View Post
    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.
    it happens even with the network cable unplugged, so this has nothing to to with network load
    cat /proc/interrupts shows you a high number of interrupts on the broadcom ethernet controller, even if you boot the machine without network connectivity.

  8. #8
    Quote Originally Posted by costinel View Post
    it happens even with the network cable unplugged, so this has nothing to to with network load
    cat /proc/interrupts shows you a high number of interrupts on the broadcom ethernet controller, even if you boot the machine without network connectivity.
    I agree 100% with costinel. On my little network there's not nearly enough traffic to account fo 99.9% of a 266MHz CPU. There's something else broken in the network driver. Any chance it's available as source from Broadcom?

    - K.C.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •