From owner-freebsd-net@FreeBSD.ORG Tue Dec 1 18:37:36 2009 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B10D81065672 for ; Tue, 1 Dec 2009 18:37:36 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from mail-vw0-f188.google.com (mail-vw0-f188.google.com [209.85.212.188]) by mx1.freebsd.org (Postfix) with ESMTP id 5F4C08FC20 for ; Tue, 1 Dec 2009 18:37:35 +0000 (UTC) Received: by vws26 with SMTP id 26so1646033vws.7 for ; Tue, 01 Dec 2009 10:37:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:from:date:to:cc :subject:message-id:reply-to:references:mime-version:content-type :content-disposition:in-reply-to:user-agent; bh=HDAIhd/NydExRBFbJhR/K+VkR2pXkf33d9pBwDYAbXA=; b=QnLwd6kGWAlyLHjjGqg62haA0uXUsdm9u9yYxvvLwPLUaVDMfK+lGmeZqvikm+ArVn KxUJLhP180s+CjNLOWDRZnYjMCcNBL4xVleLyt8gG+npri2sX1tuKVmSzCjB1ZWQVuO9 FBFBGZD/x7W3/XTAM7p4DJXq/XFCpBxssB0Pc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:date:to:cc:subject:message-id:reply-to:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; b=CAB6vrdayIhGCExV7nRwoKgVk7YHQkfXrg3RV2+SZkfJZ103JDQ3FRJfJVJ0X606wT M6VgKyDLw/f9sxYKfM2kQdI8msNxPiHelq10MHbrH31JE4BkjP0aiLOI+qCO0heYT96g FCLbU6LqVLHr9SMjqQQILxvdpLE+dLinT7yE8= Received: by 10.220.122.35 with SMTP id j35mr7429312vcr.46.1259692655331; Tue, 01 Dec 2009 10:37:35 -0800 (PST) Received: from pyunyh@gmail.com ([174.35.1.224]) by mx.google.com with ESMTPS id 23sm637904vws.9.2009.12.01.10.37.33 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 01 Dec 2009 10:37:34 -0800 (PST) Received: by pyunyh@gmail.com (sSMTP sendmail emulation); Tue, 1 Dec 2009 10:36:23 -0800 From: Pyun YongHyeon Date: Tue, 1 Dec 2009 10:36:23 -0800 To: Rafael Ganascim Message-ID: <20091201183623.GK1172@michelle.cdnetworks.com> References: <2f7feda40912010931i3cf7d90dmb2a8d08ecd40589f@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2f7feda40912010931i3cf7d90dmb2a8d08ecd40589f@mail.gmail.com> User-Agent: Mutt/1.4.2.3i Cc: freebsd-net@freebsd.org Subject: Re: bge driver and MSI X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Dec 2009 18:37:36 -0000 On Tue, Dec 01, 2009 at 03:31:37PM -0200, Rafael Ganascim wrote: > Hi list, > > Can the bge driver use more than one MSI message? If possible, what the > advantage of this on a SMP system (better CPU distribution on interrupts?)? > > I have an Broadcom BCM5703X, with 8 MSI messages: > -- > bge0@pci0:1:2:0: class=0x020000 card=0x00cb0e11 chip=0x16a714e4 rev=0x02 > hdr=0x00 > vendor = 'Broadcom Corporation' > device = 'BCM5703X NetXtreme Gigabit Ethernet' > class = network > subclass = ethernet > cap 07[40] = PCI-X 64-bit supports 133MHz, 2048 burst read, 1 split > transaction > cap 01[48] = powerspec 2 supports D0 D3 current D0 > cap 03[50] = VPD > cap 05[58] = MSI supports 8 messages, 64 bit I think supporting more than one MSI message does not have benefit. If controller support multiple MSIX message with RSS it could be configured to distribute interrupts among CPUs. But I think FreeBSD still lacks a capability to dynamically redistribute loads while RSS is active. Controller also should support multi-Tx/Rx queues to take advantage of it. BCM5717 seems to support MSIX with RSS but bge(4) has no support for the controller at the moment. I think supporting multi-Tx/Rx queue requires major driver overhauling which would take a lot of time and experiments. bge(4) in HEAD takes full advantage of MSI. Special interrupt handler optimized for MSI is used for MSI capable controllers and this seems to work well. I don't have BCM5703X so I didn't enable that feature on PCIX controller though. > -- > > Thanks. > > -- > Rafael