Subject: Re: 100base NIC's
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Brian C. Grayson <bgrayson@marvin.ece.utexas.edu>
List: port-i386
Date: 05/23/1999 23:26:59
On Sun, May 16, 1999 at 04:03:30PM +0200, Manuel Bouyer wrote:
> On Sat, May 15, 1999 at 04:32:21PM -0500, Brian C. Grayson wrote:
> >   Personally, a vr0 (VIA Rhine) panics my home machine as soon
> > as any major net traffic occurs -- memory pool corruption, I
> > believe.  Jason has looked at it a bit, but so far it's still
> > very unreliable for me.
> > 
> >   If anyone has a vr0 that works great, please contact me
> > privately.  I'd be interested to try out your working kernels
> > etc. to try to figure out why it's broken for me.
> 
> I have one, runnning with a GENERIC 1.4 kernel in a k6/II 350 machine,
> 64Mb 100Mhz simms, asus p5a motherboard.
> It's connected to a 100Mb HUB. Usage is: NFS (with a 10Mb server) for my
> $HOME, cvs update from cvs.netbsd.org to local disk then
> "tar cvf - src | rsh otherbox 'gzip -9 > /zip/src.tgz'" (this one uses the
> full 100MBs). Also some package builds from a read-only NFS mounted
> pkgsrc.
> 
> Could you give details about your hardware and usages ?

  I just tried out a recent-vintage (Friday's sources, IIRC)
kernel on my hardware.  It's a P-90 system, with a cheap
motherboard.  I'm connecting vr0 via a null-cable to an ne0, at 10Mb.

  Doing ordinary pings works fine, and the autodetect on the vr0
properly notices 10Mb.  However, stressing the network
(initiating nfsd and mounts, or ping -f) results in a panic
within about 10 seconds.  With the new pool diagnostics, I got
(copied by hand, and abbreviated):

log entry 1:
action = put, addr = 0xf2f5f000
file: kern/uipc_mbuf.c at line 353
log entry 0:
action = get, addr = 0xf2f5f000
file: dev/pci/if_vr.c at line 672
panic: pool_get(mclpl): free list modified: magic f9c88000; page
0xf2f5f000; item addr 0xf2f5f000

"show pool" in ddb causes a kernel page fault immediately.

  Here's what "ifconfig vr0" showed before the panic:
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        media: Ethernet autoselect (none)
	status: active
	inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255

  Anything I can do to help debug this further?  (I should have a
bit more free time now than last week.)

  Brian