Subject: Re: bge(4) (DEGXA-TX) no-go on the AlphaServer ES40
To: Jason Thorpe <email@example.com>
From: Greg A. Woods <firstname.lastname@example.org>
Date: 11/19/2004 15:06:38
F[ On Friday, November 19, 2004 at 07:26:26 (-0800), Jason Thorpe wrote: ]
> Subject: Re: weird panic with wm(4) on alpha using i82542 card (possibly caused by bge(4) breakage)
> On Nov 18, 2004, at 1:38 PM, Greg A. Woods wrote:
> > Same panic with a really -current kernel, but I now believe it may have
> > something to do with the bge(4) driver (which I'm also trying to debug)
> > having a catastrophic effect on the rest of the kernel whenever I try
> > to
> > use it. The wm0 device works fine so long as I never ifconfig bge0.
> What kind of machine, and how much memory?
AlphaServer ES40, 16GB.
> The bge driver is probably
> gobbling up all of the SGMAP resources...
I suppose that's one good possibility. The machine does seem to stay
relatively stable even after the device is hung and so it's unlikely to
be a more catastrophic bug such as a wild pointer scribbling all over.
Attempts to do a "ping -f -s 1480" through the bge(4) interface
eventually result in ping reporting "ping: sendto: No buffer space
available". No packets are transmitted even though a plain ping just
IIRC the wm0 device also works fine so long as the bge0 device never
hangs -- i.e. it can be configured and handle a normal ping without
causing the rest of the system any grief. It's only after it has been
forced into a dead state that the wm0 device gets into trouble.
Note that I have confirmed the bge0 card works OK under Tru64 Unix and I
think I can also show with ttcp that the Tru64 bcm driver doesn't use
any of the hardware checksumming features (the manual page makes no
mention of them):
Using bcm0 with default settings:
# ./ttcp -v -t -s -n 50000 10.10.10.1
ttcp-t: buflen=8192, nbuf=50000, align=16384/0, port=5001 tcp -> 10.10.10.1
ttcp-t: 409600000 bytes in 7.88 real seconds = 50781.06 KB/sec +++
ttcp-t: 409600000 bytes in 5.42 CPU seconds = 73857.64 KB/cpu sec
ttcp-t: 50000 I/O calls, msec/call = 0.16, calls/sec = 6347.63
ttcp-t: 0.0user 5.3sys 0:07real 68% 0i+2d 108maxrss 0+1pf 176704+6538csw
ttcp-t: buffer address 0x40008000
(though for some strange reason I can't get ttcp to accept connections
-- it gets stuck in the accept() call -- guess I need some Tru64 porting
Greg A. Woods
+1 416 218-0098 VE3TCP RoboHack <email@example.com>
Planix, Inc. <firstname.lastname@example.org> Secrets of the Weird <email@example.com>