cvs commit: src/sys/dev/bfe if_bfe.c if_bfereg.h

Ben Kaduk minimarmot at gmail.com
Wed May 10 16:21:45 UTC 2006


On 5/8/06, Mike Silbersack <silby at silby.com> wrote:
>
> On Mon, 8 May 2006, Makoto Matsushita wrote:
>
> >>   Revision  Changes    Path
> >>   1.37      +20 -15    src/sys/dev/bfe/if_bfe.c
> >>   1.8       +2 -2      src/sys/dev/bfe/if_bfereg.h
> >
> > After commiting this change, my bfe device is not working; when the interface
> > is up via ifconfig(8), following message is shown and no in/out packets thru
> > the interface:
> >
> > May  8 17:36:18 hostname kernel: Interrupt storm detected on "irq10:";
> > throttling interrupt source
> >
> > However, backout if_bfereg.h rev 1.8 changes, the interface is working again
> > as expected...  Did you know why?
> >
> > --
> > Makoto `MAR' Matsushita
>
> The interrupt storm results whenever the bfe chip is unhappy with the
> RX/TX buffers that we give it.  I'm not sure why the change to bfereg
> would make it unhappy.
>
> Can you tell the me the following:
>
> 1.  How much RAM does your system have?
> 2.  What revision of the bfe chip do you have, according to dmesg?
>
> Then, if you're sure it's the if_bfereg.h change and not the if_bfe.c
> change that causes the problem, try playing with the values of
> BFE_TX_LIST_CNT and BFE_RX_LIST_CNT - those are the only two values that
> changed.  I changed them from 511 to 128.  You could try values like 127,
> 255, 256, 510... see if any/all of those work.
>
> Sorry for causing trouble for you, these chips seem very finicky.
>
> Mike "Silby" Silbersack
> _______________________________________________
> cvs-src at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/cvs-src
> To unsubscribe, send any mail to "cvs-src-unsubscribe at freebsd.org"
>

Just a "me, too," and perhaps a ping (cc-ing current). . .
I experienced an interrupt storm with these if_befreg.h changes;
backing them out results in a working kernel.

I include the information you requested of Matsushita-san, for completeness:
I have 1G of ram in this laptop, and after boot -v,
dmesg -a|grep bfe:
bfe0: <Broadcom BCM4401 Fast Ethernet> mem 0xfaffe000-0xfaffffff irq
11 at device 0.0 on pci2
bfe0: Reserved 0x2000 bytes for rid 0x10 type 3 at 0xfaffe000
miibus0: <MII bus> on bfe0
bfe0: bpf attached
bfe0: Ethernet address: 00:0b:db:99:e8:c7
bfe0: [MPSAFE]
bfe0: no link ...
DHCPREQUEST on bfe0 to 255.255.255.255 port 67
DHCPDISCOVER on bfe0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST on bfe0 to 255.255.255.255 port 67
bfe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::20b:dbff:fe99:e8c7%bfe0 prefixlen 64 scopeid 0x1

As a bonus,
pciconf -lv has:
bfe0 at pci2:0:0:  class=0x020000 card=0x81271028 chip=0x440114e4 rev=0x01 hdr=0x00
    vendor   = 'Broadcom Corporation'
    device   = 'BCM4401 10/100 Integrated Ethernet Controller'
    class    = network
    subclass = ethernet

and a full dmesg should be available at:
https://netfiles.uiuc.edu/kaduk/www/current/dmesg.txt

It is currently finals week at University, so I shall not be able to
investigate other sizes for these defines for a few days.

Thanks,

Ben Kaduk


More information about the cvs-src mailing list