Re: em, polling, carp LOR

From: Gleb Smirnoff <glebius_at_FreeBSD.org>
Date: Fri, 27 Jan 2006 12:46:12 +0300
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) _at_ /usr/src/sys/dev/em/if_em.c:1070
b> 2nd 0xc50d41d0 carp_if (carp_if) _at_ /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_at_freebsd.org mailing list
b> http://lists.freebsd.org/mailman/listinfo/freebsd-current
b> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
Received on Fri Jan 27 2006 - 08:46:20 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:51 UTC