Hi,

on FreeBSD 10.0-CURRENT #7 r228176M: Thu Dec  1 13:56:02 CET 2011
(GENERIC + CAPABILITIES + netmap with head.diff and bge patches applied)
I get these lock order reversals when running a netmap-enabled program
(details in the attachment) with syscall (54, FreeBSD ELF64, sys_ioctl):

Dec  1 16:23:09 acer kernel: exclusive sleep mutex netmap memory
allocator lock (netmap memory allocator lock) r = 0 (0xfffffe00027d1880)
locked @ /usr/src/sys/dev/netmap/netmap.c:1484

Dec  1 16:23:09 acer kernel: exclusive sleep mutex bge0 (network driver)
r = 0 (0xffffff8000768010) locked @
/usr/src/sys/dev/netmap/if_bge_netmap.h:60

The application does not invoke the offending function (netmap_malloc())
itself.

Regards,
René
-- 
http://www.rene-ladan.nl:8080/

GPG fingerprint = ADBC ECCD EB5F A6B4 549F  600D 8C9E 647A E564 2BFC
(subkeys.pgp.net)
Dec  1 15:41:20 acer kernel: FreeBSD 10.0-CURRENT #7 r228176M: Thu Dec  1 
13:56:02 CET 2011
Dec  1 15:41:20 acer kernel: real memory  = 4294967296 (4096 MB)
Dec  1 15:41:20 acer kernel: avail memory = 4080091136 (3891 MB)
Dec  1 15:41:20 acer kernel: 001.000005 netmap_memory_init [1627] 
netmap_buffer_base 0xffffff8117eaa000 (offset 679936)
Dec  1 15:41:20 acer kernel: 001.000006 netmap_memory_init [1636] Have 129 MB, 
use 661KB for rings, 65862 buffers at 0xffffff8117eaa000
Dec  1 15:41:20 acer kernel: netmap: loaded module with 129 Mbytes
Dec  1 15:41:20 acer kernel: bge0: <Broadcom NetLink Gigabit Ethernet 
Controller    , ASIC rev. 0x5784100> mem 0xf5100000-0xf510ffff irq 16 at device 
0.0 on pci2
Dec  1 15:41:20 acer kernel: bge0: CHIP ID 0x05784100; ASIC REV 0x5784; CHIP 
REV 0x57841; PCI-E
Dec  1 15:41:20 acer kernel: miibus0: <MII bus> on bge0
Dec  1 15:41:20 acer kernel: brgphy0: <BCM5784 10/100/1000baseT PHY> PHY 1 on 
miibus0
Dec  1 15:41:20 acer kernel: brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 
100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 
1000baseT-FDX-master, auto, auto-flow
Dec  1 15:41:20 acer kernel: bge0: Ethernet address: 00:26:2d:5e:d8:ee
Dec  1 15:41:20 acer kernel: 001.000009 netmap_attach [1243] ok for bge0
Dec  1 16:23:09 acer kernel: 989.882634 netmap_set_ringid [779] ringid bge0 set 
to SW RING
Dec  1 16:23:09 acer kernel: uma_zalloc_arg: zone "64" with the following 
non-sleepable locks held:
Dec  1 16:23:09 acer kernel: exclusive sleep mutex netmap memory allocator lock 
(netmap memory allocator lock) r = 0 (0xfffffe00027d1880) locked @ 
/usr/src/sys/dev/netmap/netmap.c:1484
Dec  1 16:23:09 acer kernel: exclusive sleep mutex bge0 (network driver) r = 0 
(0xffffff8000768010) locked @ /usr/src/sys/dev/netmap/if_bge_netmap.h:60
Dec  1 16:23:09 acer kernel: KDB: stack backtrace:
Dec  1 16:23:09 acer kernel: db_trace_self_wrapper() at 
db_trace_self_wrapper+0x2a
Dec  1 16:23:10 acer kernel: kdb_backtrace() at kdb_backtrace+0x37
Dec  1 16:23:10 acer kernel: _witness_debugger() at _witness_debugger+0x2c
Dec  1 16:23:10 acer kernel: witness_warn() at witness_warn+0x2c2
Dec  1 16:23:10 acer kernel: uma_zalloc_arg() at uma_zalloc_arg+0x335
Dec  1 16:23:10 acer kernel: malloc() at malloc+0xbe
Dec  1 16:23:10 acer kernel: netmap_malloc() at netmap_malloc+0x86
Dec  1 16:23:10 acer kernel: netmap_ioctl() at netmap_ioctl+0x5bd
Dec  1 16:23:10 acer kernel: devfs_ioctl_f() at devfs_ioctl_f+0x7a
Dec  1 16:23:10 acer kernel: kern_ioctl() at kern_ioctl+0xcd
Dec  1 16:23:10 acer kernel: sys_ioctl() at sys_ioctl+0xfd
Dec  1 16:23:10 acer kernel: amd64_syscall() at amd64_syscall+0x3ac
Dec  1 16:23:10 acer kernel: Xfast_syscall() at Xfast_syscall+0xf7
Dec  1 16:23:10 acer kernel: --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 
0x8022aef0c, rsp = 0x7fffffffd4b8, rbp = 0x802bfb100 ---
Dec  1 16:23:10 acer kernel: uma_zalloc_arg: zone "64" with the following 
non-sleepable locks held:
Dec  1 16:23:10 acer kernel: exclusive sleep mutex netmap memory allocator lock 
(netmap memory allocator lock) r = 0 (0xfffffe00027d1880) locked @ 
/usr/src/sys/dev/netmap/netmap.c:1484
Dec  1 16:23:10 acer kernel: exclusive sleep mutex bge0 (network driver) r = 0 
(0xffffff8000768010) locked @ /usr/src/sys/dev/netmap/if_bge_netmap.h:60
Dec  1 16:23:10 acer kernel: KDB: stack backtrace:
Dec  1 16:23:10 acer kernel: db_trace_self_wrapper() at 
db_trace_self_wrapper+0x2a
Dec  1 16:23:10 acer kernel: kdb_backtrace() at kdb_backtrace+0x37
Dec  1 16:23:10 acer kernel: _witness_debugger() at _witness_debugger+0x2c
Dec  1 16:23:10 acer kernel: witness_warn() at witness_warn+0x2c2
Dec  1 16:23:10 acer kernel: uma_zalloc_arg() at uma_zalloc_arg+0x335
Dec  1 16:23:10 acer kernel: malloc() at malloc+0xbe
Dec  1 16:23:10 acer kernel: netmap_malloc() at netmap_malloc+0x86
Dec  1 16:23:10 acer kernel: netmap_ioctl() at netmap_ioctl+0x817
Dec  1 16:23:10 acer kernel: devfs_ioctl_f() at devfs_ioctl_f+0x7a
Dec  1 16:23:10 acer kernel: kern_ioctl() at kern_ioctl+0xcd
Dec  1 16:23:10 acer kernel: sys_ioctl() at sys_ioctl+0xfd
Dec  1 16:23:10 acer kernel: amd64_syscall() at amd64_syscall+0x3ac
Dec  1 16:23:10 acer kernel: Xfast_syscall() at Xfast_syscall+0xf7
Dec  1 16:23:10 acer kernel: --- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 
0x8022aef0c, rsp = 0x7fffffffd4b8, rbp = 0x802bfb100 ---
Dec  1 16:23:10 acer kernel: 990.041760 netmap_reset [1403] +++ NR_REINIT ok on 
bge0 RX[0]
Dec  1 16:23:10 acer kernel: 990.041948 netmap_reset [1384] +++ NR_REINIT ok on 
bge0 TX[0]
Dec  1 16:23:10 acer kernel: bge0: link state changed to DOWN
Dec  1 16:23:10 acer kernel: 990.051589 netmap_dtor [352] deleting last netmap 
instance for bge0
Dec  1 16:23:12 acer kernel: bge0: link state changed to UP

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to