From owner-freebsd-drivers@FreeBSD.ORG Fri May 25 21:30:31 2007 Return-Path: X-Original-To: freebsd-drivers@freebsd.org Delivered-To: freebsd-drivers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A4D6016A41F for ; Fri, 25 May 2007 21:30:31 +0000 (UTC) (envelope-from rmiranda@digitalrelay.ca) Received: from wrdsl02.terago.ca (wrdsl02.terago.ca [207.54.102.194]) by mx1.freebsd.org (Postfix) with ESMTP id 8592013C484 for ; Fri, 25 May 2007 21:30:31 +0000 (UTC) (envelope-from rmiranda@digitalrelay.ca) Received: from [192.168.0.12] (unknown [64.201.181.165]) by wrdsl02.terago.ca (Postfix) with ESMTP id 1F16D86E6E for ; Fri, 25 May 2007 16:12:01 -0500 (CDT) From: "Roger Miranda" Organization: Digital Relay Inc. To: freebsd-drivers@freebsd.org Date: Fri, 25 May 2007 16:12:42 -0500 User-Agent: KMail/1.9.4 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200705251612.42487.rmiranda@digitalrelay.ca> Subject: LOR on e1000 X-BeenThere: freebsd-drivers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Writing device drivers for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 May 2007 21:30:31 -0000 Not to sure if this is the right place to post this. We have posted on the freebsd-stable mailing list, but decided this might b= e a=20 driver issue. We have a machine running freebsd 6.2 with if_bridge just doing proxy=20 interception. The problem is the machine goes into to a dead lock with my= =20 tcp connection (not so much a heavy load). We can only recreate the dead=20 lock with about 25 or more PCs behind our system. Here is a copy of the LOR: =2D------------------------------------------------------------------------= =2D--------------------------------------- lock order reversal: 1st 0xc06e0820 polling (polling) @ /usr/src/sys/kern/kern_poll.c:422 2nd 0xc473070c if_bridge (if_bridge) @ /usr/src/sys/net/if_bridge.c:1976 KDB: stack backtrace: witness_checkorder(c473070c,9,c068bfbc,7b8) at witness_checkorder+0x55c _mtx_lock_flags(c473070c,0,c068bfbc,7b8,c473070c,...) at _mtx_lock_flags+0x= 41 bridge_input(c43d9000,c4740000,c43a828c,c43a8000,c4740000,...) at=20 bridge_input+0x80 ether_input(c43d9000,c4740000,c43a828c,0,c0675f3c,...) at ether_input+0x122 e1000_rxeof(d43f2cbc,c0524e5d,d43f2ca8,1,5,...) at e1000_rxeof+0x19b e1000_poll(c43d9000,0,5) at e1000_poll+0x46 netisr_poll(0) at netisr_poll+0x70 swi_net(0,c4315438,c4323a80,c050a484,c4322648,...) at swi_net+0xb0 ithread_loop(c430f700,d43f2d38,c430f700,c050a484,0,...) at ithread_loop+0x1= de fork_exit(c050a484,c430f700,d43f2d38) at fork_exit+0x7d fork_trampoline() at fork_trampoline+0x8 =2D-- trap 0x1, eip =3D 0, esp =3D 0xd43f2d6c, ebp =3D 0 --- softdep_waitidle: Failed to flush worklist for 0xc44ffcf8 =2D------------------------------------------------------------------------= =2D--------------------------------------- here is the pciconf output for the network intel cards: =2D------------------------------------------------------------------------= =2D--------------------------------------- em0@pci1:1:0:=A0=A0=A0class=3D0x020000 card=3D0x10758086 chip=3D0x10758086 = rev=3D0x00=20 hdr=3D0x00 =A0 =A0 class =A0 =A0=3D network =A0 =A0 subclass =3D ethernet em1@pci3:10:0:=A0=A0class=3D0x020000 card=3D0x10768086 chip=3D0x10768086 re= v=3D0x00=20 hdr=3D0x00 =A0 =A0 class =A0 =A0=3D network =A0 =A0 subclass =3D ethernet =2D------------------------------------------------------------------------= =2D--------------------------------------- Any help will be really appreciated. We have upgrade the Intel drivers to= =20 version (em-6.3.9). Roger