From owner-freebsd-performance@FreeBSD.ORG Mon May 13 16:10:51 2013 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C1EE64F0 for ; Mon, 13 May 2013 16:10:51 +0000 (UTC) (envelope-from eric@vangyzen.net) Received: from aussmtpmrkps320.us.dell.com (aussmtpmrkps320.us.dell.com [143.166.224.254]) by mx1.freebsd.org (Postfix) with ESMTP id 974883C6 for ; Mon, 13 May 2013 16:10:51 +0000 (UTC) X-Loopcount0: from 64.238.244.148 X-IronPort-AV: E=Sophos;i="4.87,662,1363150800"; d="scan'208";a="28135398" Message-ID: <51911084.60505@vangyzen.net> Date: Mon, 13 May 2013 11:10:44 -0500 From: Eric van Gyzen User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130413 Thunderbird/17.0.5 MIME-Version: 1.0 To: Meny Yossefi Subject: Re: irq balancer References: In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Cc: "freebsd-performance@freebsd.org" X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 May 2013 16:10:51 -0000 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