[CentOS] Why is irqbalance not balancing?

Sun Mar 29 12:22:49 UTC 2015
James Pearson <james-p at moving-picture.com>

Steve Snyder wrote:
> I am running irqbalance with default configuration on an Atom 330 machine. 
> This CPU has 2 physical cores + 2 SMT (aka Hyperthreading) cores.
>
> As shown below the interrupt for the eth0 device is always on CPUs 0 and 1,
> with CPUs 2 and 3 left idle.  But why?
>
> Maybe irqbalance prefers physical cores?  My understanding, though, is that the
> even-numbered CPUs are the physical cores, with the odd-numbered one being
> the SMT cores.  If this understanding is correct, it means that irqbalance is toggling
> between a single physical core and its SMT sibling.
>
> Any thoughts on why irqbalance is not using all 4 CPUs to distribute the eth0 interrupts?

I believe the hyperthreading cores are enumerated after the 'real' cores - you can see this by using 'lstopo' - part of the hwloc package ('yum install hwloc') i.e. logical CPUs 0 and 1 are the 'real' cores and logical CPUs 2 and 3 are the HT cores

I suspect interrupts only have meaning on the real cores - hence you not seeing any on CPUs 2 and 3

James Pearson