From owner-freebsd-current@FreeBSD.ORG Fri Jan 27 09:46:20 2006 Return-Path: X-Original-To: freebsd-current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EC58416A420; Fri, 27 Jan 2006 09:46:20 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (cell.sick.ru [217.72.144.68]) by mx1.FreeBSD.org (Postfix) with ESMTP id 46F6443D49; Fri, 27 Jan 2006 09:46:20 +0000 (GMT) (envelope-from glebius@FreeBSD.org) Received: from cell.sick.ru (glebius@localhost [127.0.0.1]) by cell.sick.ru (8.13.3/8.13.3) with ESMTP id k0R9kD7E049864 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 27 Jan 2006 12:46:13 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.sick.ru (8.13.3/8.13.1/Submit) id k0R9kCPZ049863; Fri, 27 Jan 2006 12:46:12 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.sick.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Fri, 27 Jan 2006 12:46:12 +0300 From: Gleb Smirnoff To: ben Message-ID: <20060127094612.GP83922@FreeBSD.org> References: <70316A00-62D2-4C36-BCFF-8080CCDCCDA7@desync.com> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline In-Reply-To: <70316A00-62D2-4C36-BCFF-8080CCDCCDA7@desync.com> User-Agent: Mutt/1.5.6i Cc: freebsd-current@FreeBSD.org, scottl@FreeBSD.org Subject: Re: em, polling, carp LOR X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2006 09:46:21 -0000 On Fri, Jan 27, 2006 at 04:22:03AM -0500, ben wrote: b> Please excuse if this is already known. It used to work. Yes, it is known. The em(4) driver in HEAD is now undergoing some aggressive changes, and ATM the polling(4) mode is a bit broken in HEAD. However, the driver now works very well in interrupt mode. I suggest you to try to turn polling(4) off. b> lock order reversal: b> 1st 0xc4be31a4 em1 (network driver) @ /usr/src/sys/dev/em/if_em.c:1070 b> 2nd 0xc50d41d0 carp_if (carp_if) @ /usr/src/sys/netinet/ip_carp.c:1251 b> KDB: stack backtrace: b> witness_checkorder(c50d41d0,9,c08b29b5,4e3) at witness_checkorder+0x56b b> _mtx_lock_flags(c50d41d0,0,c08b29b5,4e3,800) at _mtx_lock_flags+0x50 b> carp_forus(c50d41c0,c50c5802,0,1,5dc) at carp_forus+0x4b b> ether_demux(c4c1d800,c5090800,c4be3000,83,c4c23820) at ether_demux+0x1f7 b> ether_input(c4c1d800,c5090800,0,e35d6c70,c0698a28) at ether_input+0x15b b> em_process_receive_interrupts(1,1,5,0,e35d6cd4) at b> em_process_receive_interrupts+0x2d3 b> em_poll(c4c1d800,0,5) at em_poll+0x79 b> netisr_poll(0,c4b3c980,c4b3ee00,0,e35d6d0c) at netisr_poll+0x70 b> swi_net(0,c4b3ee38,c4aefb60,c0660d38,c4aee450) at swi_net+0x2d b> ithread_loop(c4ab5870,e35d6d38,c4ab5870,c0660d38,0) at ithread_loop b> +0x1eb b> fork_exit(c0660d38,c4ab5870,e35d6d38) at fork_exit+0x80 b> fork_trampoline() at fork_trampoline+0x8 b> --- trap 0x1, eip = 0, esp = 0xe35d6d6c, ebp = 0 --- b> b> Thanks, b> bw. b> _______________________________________________ b> freebsd-current@freebsd.org mailing list b> http://lists.freebsd.org/mailman/listinfo/freebsd-current b> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" -- Totus tuus, Glebius. GLEBIUS-RIPN GLEB-RIPE