Date: Mon, 13 May 2013 11:10:44 -0500 From: Eric van Gyzen <eric@vangyzen.net> To: Meny Yossefi <menyy@mellanox.com> Cc: "freebsd-performance@freebsd.org" <freebsd-performance@freebsd.org> Subject: Re: irq balancer Message-ID: <51911084.60505@vangyzen.net> In-Reply-To: <F2E47A38E4D0B9499D76F2AB8901571A7398576B@MTLDAG01.mtl.com> References: <F2E47A38E4D0B9499D76F2AB8901571A7398576B@MTLDAG01.mtl.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. :) Regards, Eric
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51911084.60505>