Subject: Re: bge(4) (DEGXA-TX) no-go on the AlphaServer ES40
To: Jason Thorpe <thorpej@shagadelic.org>
From: Greg A. Woods <woods@weird.com>
List: tech-net
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
previous works.

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: socket
ttcp-t: connect
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
help!)

-- 
						Greg A. Woods

+1 416 218-0098                  VE3TCP            RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>