I have the following issue. I installed Asterisk 1.6.2 on a pristine Debian GNU/Linux machine with 4 Xeon cores. After a while I saw that the asterisk process stays one one of the cores only and maintains it at 100% usage while the other cores are almost idle.
I asked on the #asterisk channel about this issue and somebody suggested it could be a problem related to IRQ balancing not working properly for the network interfaces.
I looked at the system and it seems that all the IRQ are served by only one core (the 4th one), but even if I manually set which core to server the IRQs related to network interfaces (only for testing and debugging purposes) the asterisk process still uses up 100% of the core on which it stays. I should mention that the system is not under a lot of load, only a few users are present on it and even fewer are calling (using it actively).
Could somebody give me some pointers how to solve this or how to force the asterisk/kernel to move the newly created or running threads to another core if the current one is overloaded (it is at 100%). Thank you!