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>