fxp driver lockups on 4.8r
Robert Watson
rwatson at freebsd.org
Sun May 18 12:01:28 PDT 2003
On Fri, 16 May 2003, Gabriel Tataranu wrote:
> I'd like to report strange behavior of fxp driver on 4.8r. The hardware
> configuration is:
> - Intel D845GERG2L motherboard (lan on board)
> - Pentium 4 processor and PC2700 memory
> - Adaptec 29160N with Seagate 15k3 drives
> - 3Com 905C nic
> - IDE CDROM
>
> Once the system has load on intel nic (on the motherboard) and discs
> (like rsync a large directory from a server) the system locks-up
> (console becomes not responsive), the nic is broadcasting IP storms at
> full capacity (so hard that the network switch lock-up) and the disk LED
> is solid bright red (during regular disk access the LED can be solid red
> but not so bright).
Are you sure it's an IP storm? Could you send a tcpdump with a few sample
packets from another machine? I suspect strongly the symptom you're
seeing is that the OS (for whatever reason) has ceased to process fxp
interrupts, and as a result the fxp card has started to spew our link
layer flow control packets. I run into the same problem when my system
drops into DDB, and ceases to respond. I recently committed a tunable to
-current to disable flow control for the card. Note: this is not the same
as solving the source of the problem, which is presumably a bug somewhere,
but this would prevent your switch from hanging when this happens. To
force your fxp card not to enable flow control (which may be a reasonable
default), find the following lines in src/sys/dev/fxp/if_fxp.c:
cbp->multi_ia = 0; /* (don't) accept multiple IAs */
cbp->mc_all = sc->flags & FXP_FLAG_ALL_MCAST ? 1 : 0;
if (sc->revision == FXP_REV_82557) {
/*
* The 82557 has no hardware flow control, the values
* below are the defaults for the chip.
*/
Replace the if statement with:
if (1) {
This will always disable flow control. Then comes the second question,
which is why this happened in the first place, but this may be a lot
easier to diagnose without your fxp card going nuts. I suggest compiling
your kernel with "options DDB" and seeing if you can break into the
debugger when it appears hung.
> The same operation on 3Com card is OK. Same operation on 4.6.2r
> and 4.7r is again OK. The system has no IRQ conflicts.
>
> I cannot provide a system log since the only way I can restore
> the system to sanity is cold reboot. There are no indication of kernel
> panics (the console just "freeze").
>
> I can provide other details / run some scripts upon request.
>
> Regards,
>
> Gabriel
> _______________________________________________
> freebsd-bugs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
> To unsubscribe, send any mail to "freebsd-bugs-unsubscribe at freebsd.org"
>
More information about the freebsd-bugs
mailing list