Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 6 Mar 1998 15:54:18 -0700 
From:      "Bauer, Steven J." <sbauer@taz.sdsmt.edu>
To:        "'freebsd-smp@freebsd.org'" <freebsd-smp@FreeBSD.ORG>
Subject:   problems with networking code on a SMP 2 processor
Message-ID:  <B113429CC8E9D011AA8600805FC149941A4B2C@bugs.sdsmt.edu>

next in thread | raw e-mail | index | archive | help
Hello!
	The system was rebuilt using the sources that were cvsup as of
3-4-98.
What happens is this:  When running in smp mode, and two network cards
active and a moderate level of data flowing between the cards, the
network quits working -- no forwarding, not access to anywhere.  The
network drivers will then start reporting timeout errors.  If I try to
ping a host that is on the same network, I cannot reach it, yet if I
ping one of the interfaces on the freebsd machine from the freebsd
machine, I get a response.  If I then try shutting down the interfaces,
I get this error when I shut the last interface down:

Fatal trap12: page fault while in kernel mode
mp_lock=00000002; cpuid=0;lapic.id=01000000
fault virtual address=0x80430
fault code= supervisor read, page not present
instruction pointer =0x8:0xf0148d1f
framepointer = 0x10:0xf3f68db4
code segment = base 0x0, limit 0xfffff, type0x1b
	       = DPL 0,pres 1,def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL=0
current process = 196 (ifconfig)
interrupt mask = net <- SMP:XXX
kernel: type 12 trap, code=0
stopped at _rtrequest+0x7f	movl 0x14(%edx), %eax

The results of show trace where as follows:

_rtrequest 
_in_ifadownkill
_rn_walktree
_in_ifadown
_rip_ctlinput
_pfctlinput
_if_down
_ifioctl
_soo_ioctl
_ioctl
_syscall
_Xsyscall
--- syscall 0x36, eip=0x25a65, esp 0xefbfdc54, ebp=0xefbfdc70 ---

	The machine is currently running gated 3.5.8 for a routing
daemon.  This same problem happens if I use routed as a routing daemon.
If I use static routes instead of a routing daemon, I have not been able
to cause the machine to quit forwarding packets.  Also, if I run the
machine in uniprocessor mode, everything works fine. 
	The network cards that I have used include a 4 port network
card, Adaptec 6944a, which is base on the DEC 21140-ac chipset (using
only two ports), and the SMC 9432.  At both times, the cards were
running at 100Mbp/s Full Duplex.

>From my testing that I have done, it appears that somewere in the
routing code there is a problem with the data not being protected from
the effects of 2 cpus working on it at once.  Does this sound right?  Is
there a different place I should be looking for this bug at?

Thanks for your help!

Steve Bauer


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B113429CC8E9D011AA8600805FC149941A4B2C>