Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Dec 2009 10:36:23 -0800
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Rafael Ganascim <rganascim@gmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: bge driver and MSI
Message-ID:  <20091201183623.GK1172@michelle.cdnetworks.com>
In-Reply-To: <2f7feda40912010931i3cf7d90dmb2a8d08ecd40589f@mail.gmail.com>
References:  <2f7feda40912010931i3cf7d90dmb2a8d08ecd40589f@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091201183623.GK1172>