irq balancer

Eric van Gyzen eric at
Mon May 13 16:10:51 UTC 2013

On 05/13/2013 03:43, Meny Yossefi wrote:
> Hi,
> I'm running FreeBSD 9.1.
> I was wandering if there's a way to distribute hardware interrupts (pinning an interrupt handler to a specific CPU) across processors for performance benefits.
> Linux has a process called irqbalancer for exactly that purpose. Is there an equivalent in FreeBSD ?

Hi Meny.

A driver can use bus_bind_intr(9) for this purpose.  It assigns the
MSI-X signalling and the corresponding interrupt thread (if any) to the
given CPU.  sys/dev/ixgbe/ixgbe.c is a good example.  This capability is
exposed to user-land via cpuset(2) and cpuset(1).

Note that these are static assignments.  To my knowledge, there is no
FreeBSD equivalent of Linux's irqbalance, which dynamically shuffles
IRQs based on runtime behavior.  I would be delighted if I'm wrong.  :)



More information about the freebsd-performance mailing list