As it is currently written, the irqbalance utility can only support up to 32 CPUs. There are two issues involving /proc entries that need to be fixed to address this. (1) /proc/irq/<nnn>/smp_affinity format. This entry contains a hex-formatted bitmap of the CPUs on which a given interrupt may be delivered. The current irqbalance only supports a single 32-bit word format for this file, which limits us to 32 CPUs. With more than 32 CPUs, this file consists of several longwords seprated by commas. The code that parses and writes this file must be enhanced to support this extended format. (2) /proc/interrupts format. While the overall format of /proc/interrupts is unchanged, a large number of CPUs could be an issue. This file has one row per interrupt and one column per CPU. A large number of CPUs could make for very long lines, which irqbalance may not be able to handle (it hard-codes the max line length at 1024). Again, we need to make sure this can support as many CPUs as we're going to support.
putting on U3 canfix list. We're already changing this package for other items, it microcode-ctl. So it doesn't add another package which wasn't previously planned. This is needed for the support of > 64 cpus.
What testing was done to verify this is working as expected? Do we have any testing results from partners?
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2006-0005.html