GENERIC HEAD from Apr 17 12:01:15 CEST 2012, r234335M, vmcore.338 KDB: debugger backends: ddb KDB: current backend: ddb 524288K of memory above 4GB ignored Copyright (c) 1992-2012 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 10.0-CURRENT #1 r234335M: Tue Apr 17 12:01:15 CEST 2012 pho@x4.osted.lan:/usr/src/sys/i386/compile/MEMGUARD i386 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. MEMGUARD DEBUGGING ALLOCATOR INITIALIZED: MEMGUARD map base: 0xc7c00000 MEMGUARD map limit: 0xca534000 MEMGUARD map size: 42192 KBytes CPU: AMD Phenom(tm) 9150e Quad-Core Processor (1800.02-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x100f23 Family = 10 Model = 2 Stepping = 3 Features=0x178bfbff Features2=0x802009 AMD Features=0xee500800 AMD Features2=0x7ff TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3531509760 (3367 MB) : Trying to mount root from ufs:/dev/ad4s1a [rw]... WARNING: / was not properly dismounted Setting hostuuid: 00000000-0000-0000-0000-00218515337d. Setting hostid: 0x6b64ac17. Starting ddb. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ad4s1a: 7324 files, 339769 used, 673246 free (1662 frags, 83948 blocks, 0.2% fragmentation) Fatal trap 12: page fault while in kernel mode cpuid = 2; apic id = 02 fault virtual address = 0xc7c05fc0 fault code = supervisor write, page not present instruction pointer = 0x20:0xc0c8a862 stack pointer = 0x28:0xf277e8c0 frame pointer = 0x28:0xf277ea3c code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 69 (fsck_ufs) [ thread pid 69 tid 100106 ] Stopped at ffs_mount+0xfd2: movl %eax,0(%edx) db> run pho db:0:pho> bt Tracing pid 69 tid 100106 td 0xce3af2e0 ffs_mount(ce2adb40,c10aac00,2,3b4,c0fad2ff,...) at ffs_mount+0xfd2 vfs_donmount(ce3af2e0,51001,0,ce25dd00,ce25dd00,...) at vfs_donmount+0x1354 sys_nmount(ce3af2e0,f277ecec,33,c,213,...) at sys_nmount+0x7f syscall(f277ed28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (378, FreeBSD ELF32, sys_nmount), eip = 0x28104bbb, esp = 0xbfbfe95c, ebp = 0xbfbfea98 --- db:0:bt> show allpcpu Current CPU: 2 cpuid = 0 dynamic pcpu = 0x756f00 curthread = 0xca77e000: pid 12 "swi4: clock" curpcb = 0xc7b39d80 fpcurthread = none idlethread = 0xca7358a0: tid 100003 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x6a47f00 curthread = 0xca7355c0: pid 11 "idle: cpu1" curpcb = 0xc7b29d80 fpcurthread = none idlethread = 0xca7355c0: tid 100004 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x6a4af00 curthread = 0xce3af2e0: pid 69 "fsck_ufs" curpcb = 0xf277ed80 fpcurthread = none idlethread = 0xca7352e0: tid 100005 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x6a4df00 curthread = 0xca735000: pid 11 "idle: cpu3" curpcb = 0xc7b2fd80 fpcurthread = none idlethread = 0xca735000: tid 100006 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 69 (fsck_ufs) thread 0xce3af2e0 (100106) exclusive sleep mutex Giant (Giant) r = 0 (0xc1109c10) locked @ kern/vfs_mount.c:1103 db:0:alllocks> show lockedvnods Locked vnodes db:0:lockedvnods> show mount 0xce2adb40 /dev/ad4s1a on / (ufs) 0xce2ae000 devfs on /dev (devfs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 69 68 20 0 R+ CPU 2 fsck_ufs 68 67 20 0 S+ wait 0xce376598 fsck 67 20 20 0 S+ wait 0xce2d22cc sh 20 1 20 0 Ss+ wait 0xce2d2b30 sh 19 0 0 0 DL sdflush 0xc1288380 [softdepflush] 18 0 0 0 DL vlruwt 0xce1b12cc [vnlru] 17 0 0 0 DL syncer 0xc1282074 [syncer] 16 0 0 0 DL psleep 0xc1281d08 [bufdaemon] 9 0 0 0 DL pgzero 0xc128a25c [pagezero] 8 0 0 0 DL psleep 0xc1289e48 [vmdaemon] 7 0 0 0 DL psleep 0xc1289e10 [pagedaemon] 6 0 0 0 DL ccb_scan 0xc10cee54 [xpt_thrd] 5 0 0 0 DL waiting_ 0xc1283b98 [sctp_iterator] 4 0 0 0 DL ctl_work 0xcb053000 [ctl_thrd] 3 0 0 0 DL - 0xcab1c63c [fdc0] 2 0 0 0 SL - 0xcad34000 [fw0_probe] 15 0 0 0 DL (threaded) [usb] 100058 D - 0xcac93d34 [usbus5] 100057 D - 0xcac93d04 [usbus5] 100056 D - 0xcac93cd4 [usbus5] 100055 D - 0xcac93ca4 [usbus5] 100053 D - 0xcac7bb5c [usbus4] 100052 D - 0xcac7bb2c [usbus4] 100051 D - 0xcac7bafc [usbus4] 100050 D - 0xcac7bacc [usbus4] 100049 D - 0xcac6eb5c [usbus3] 100048 D - 0xcac6eb2c [usbus3] 100047 D - 0xcac6eafc [usbus3] 100046 D - 0xcac6eacc [usbus3] 100045 D - 0xcac61b5c [usbus2] 100044 D - 0xcac61b2c [usbus2] 100043 D - 0xcac61afc [usbus2] 100042 D - 0xcac61acc [usbus2] 100040 D - 0xcac43b5c [usbus1] 100039 D - 0xcac43b2c [usbus1] 100038 D - 0xcac43afc [usbus1] 100037 D - 0xcac43acc [usbus1] 100035 D - 0xcac32b5c [usbus0] 100034 D - 0xcac32b2c [usbus0] 100033 D - 0xcac32afc [usbus0] 100032 D - 0xcac32acc [usbus0] 14 0 0 0 DL - 0xc110aca4 [yarrow] 13 0 0 0 DL (threaded) [geom] 100015 D - 0xc1107ee8 [g_down] 100014 D - 0xc1107ee4 [g_up] 100013 D - 0xc1107edc [g_event] 12 0 0 0 RL (threaded) [intr] 100066 I [irq12: psm0] 100065 I [irq1: atkbd0] 100063 I [swi0: uart] 100060 I [irq20: fwohci0] 100059 I [irq14: ata0] 100054 I [irq19: ehci0] 100041 I [irq18: ohci2 ohci4] 100036 I [irq17: ohci1 ohci3] 100031 I [irq16: hdac1 ohci0] 100030 I [irq22: ahci0] 100029 I [irq257: re0] 100028 I [irq256: hdac0] 100026 I [swi2: cambio] 100022 I [swi6: task queue] 100021 I [swi6: Giant taskq] 100019 I [swi5: +] 100012 I [swi4: clock] 100011 I [swi4: clock] 100010 I [swi4: clock] 100009 Run CPU 0 [swi4: clock] 100008 I [swi3: vm] 100007 I [swi1: netisr 0] 11 0 0 0 RL (threaded) [idle] 100006 Run CPU 3 [idle: cpu3] 100005 CanRun [idle: cpu2] 100004 Run CPU 1 [idle: cpu1] 100003 CanRun [idle: cpu0] 1 0 1 0 SLs wait 0xca732b30 [init] 10 0 0 0 DL audit_wo 0xc1287ac0 [audit] 0 0 0 0 DLs (threaded) [kernel] 100069 D - 0xc110aca4 [deadlkres] 100068 D - 0xcde6a080 [mca taskq] 100061 D - 0xcad3d180 [fw0_taskq] 100027 D - 0xcaa40180 [kqueue taskq] 100025 D - 0xcaa40580 [acpi_task_2] 100024 D - 0xcaa40580 [acpi_task_1] 100023 D - 0xcaa40580 [acpi_task_0] 100020 D - 0xcaa2c780 [thread taskq] 100018 D - 0xcaa2ca80 [ffs_trim taskq] 100016 D - 0xca730880 [firmware taskq] 100000 D sched 0xc1108000 [swapper] db:0:ps> allt Tracing command fsck_ufs pid 69 tid 100106 td 0xce3af2e0 ffs_mount(ce2adb40,c10aac00,2,3b4,c0fad2ff,...) at ffs_mount+0xfd2 vfs_donmount(ce3af2e0,51001,0,ce25dd00,ce25dd00,...) at vfs_donmount+0x1354 sys_nmount(ce3af2e0,f277ecec,33,c,213,...) at sys_nmount+0x7f syscall(f277ed28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (378, FreeBSD ELF32, sys_nmount), eip = 0x28104bbb, esp = 0xbfbfe95c, ebp = 0xbfbfea98 --- Tracing command fsck pid 68 tid 100108 td 0xce3a7b80 sched_switch(ce3a7b80,0,104,1a3,1da09fb2,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(ce3a7b80,0,c0f78220,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f78220,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ce376598,6c,c0f7b165,100,0,...) at sleepq_wait_sig+0x17 _sleep(ce376598,ce376620,16c,c0f7b165,0,...) at _sleep+0x385 kern_wait(ce3a7b80,45,f2787c5c,0,0,...) at kern_wait+0x597 sys_wait4(ce3a7b80,f2787cec,c0fc4a6c,c,216,...) at sys_wait4+0x3b syscall(f2787d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x280ff5fb, esp = 0xbfbfe3ac, ebp = 0xbfbfe3c8 --- Tracing command sh pid 67 tid 100088 td 0xce2db2e0 sched_switch(ce2db2e0,0,104,1a3,1d1f0315,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(ce2db2e0,0,c0f78220,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f78220,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ce2d22cc,6c,c0f7b165,100,0,...) at sleepq_wait_sig+0x17 _sleep(ce2d22cc,ce2d2354,16c,c0f7b165,0,...) at _sleep+0x385 kern_wait(ce2db2e0,ffffffff,f2727c5c,2,0,...) at kern_wait+0x597 sys_wait4(ce2db2e0,f2727cec,c0fc4afc,c0f7b144,216,...) at sys_wait4+0x3b syscall(f2727d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x281765fb, esp = 0xbfbfdd7c, ebp = 0xbfbfdd98 --- Tracing command sh pid 20 tid 100079 td 0xce2dbb80 sched_switch(ce2dbb80,0,104,1a3,1b8f5b32,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(ce2dbb80,0,c0f78220,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f78220,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ce2d2b30,6c,c0f7b165,100,0,...) at sleepq_wait_sig+0x17 _sleep(ce2d2b30,ce2d2bb8,16c,c0f7b165,0,...) at _sleep+0x385 kern_wait(ce2dbb80,ffffffff,f2700c5c,2,0,...) at kern_wait+0x597 sys_wait4(ce2dbb80,f2700cec,c0fc4afc,c0f7b144,216,...) at sys_wait4+0x3b syscall(f2700d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x281765fb, esp = 0xbfbfea4c, ebp = 0xbfbfea68 --- Tracing command softdepflush pid 19 tid 100078 td 0xce1bf8a0 sched_switch(ce1bf8a0,0,104,1a3,e0461231,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,54,...) at mi_switch+0x1ff sleepq_switch(ce1bf8a0,0,c0f78220,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1288380,54,c0fa9071,0,0,...) at sleepq_timedwait+0x6b _sleep(c1288380,c1288340,54,c0fa9071,3e8,...) at _sleep+0x36a softdep_flush(0,ee324d28,c0f6cad0,3d8,ce1b1000,...) at softdep_flush+0x266 fork_exit(c0c84280,0,ee324d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee324d60, ebp = 0 --- Tracing command vnlru pid 18 tid 100077 td 0xce1bfb80 sched_switch(ce1bfb80,0,104,1a3,e0460166,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,60,...) at mi_switch+0x1ff sleepq_switch(ce1bfb80,0,c0f78220,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(ce1b12cc,60,c0f832ae,0,0,...) at sleepq_timedwait+0x6b _sleep(ce1b12cc,c1282034,260,c0f832ae,3e8,...) at _sleep+0x36a vnlru_proc(0,ee321d28,c0f6cad0,3d8,ce1b12cc,...) at vnlru_proc+0xe7 fork_exit(c0ae4c80,0,ee321d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee321d60, ebp = 0 --- Tracing command syncer pid 17 tid 100076 td 0xcac8c8a0 sched_switch(cac8c8a0,0,104,1a3,e045f054,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac8c8a0,0,c0f78220,28b,cac8c8a0,...) at sleepq_switch+0x162 sleepq_timedwait(c1282074,0,ee31ec78,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c1282074,c1282060,3e8,78a,4e20,...) at _cv_timedwait+0x270 sched_sync(0,ee31ed28,c0f6cad0,3d8,ce1b1598,...) at sched_sync+0x595 fork_exit(c0ae3ff0,0,ee31ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee31ed60, ebp = 0 --- Tracing command bufdaemon pid 16 tid 100075 td 0xcac8cb80 sched_switch(cac8cb80,0,104,1a3,e046056b,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,54,...) at mi_switch+0x1ff sleepq_switch(cac8cb80,0,c0f78220,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1281d08,54,c0f80192,0,0,...) at sleepq_timedwait+0x6b _sleep(c1281d08,c1281d10,54,c0f80192,3e8,...) at _sleep+0x36a buf_daemon(0,ee31bd28,c0f6cad0,3d8,ce1b1864,...) at buf_daemon+0x175 fork_exit(c0ac8000,0,ee31bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee31bd60, ebp = 0 --- Tracing command pagezero pid 9 tid 100074 td 0xcb00a000 sched_switch(cb00a000,0,104,1a3,332dc189,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cb00a000,0,c0f78220,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c128a25c,0,c0fb0306,0,0,...) at sleepq_timedwait+0x6b _sleep(c128a25c,c1288d00,0,c0fb0306,493e0,...) at _sleep+0x36a vm_pagezero(0,ee318d28,c0f6cad0,3d8,ce1b1b30,...) at vm_pagezero+0xdc fork_exit(c0cc9680,0,ee318d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee318d60, ebp = 0 --- Tracing command vmdaemon pid 8 tid 100073 td 0xcb00a2e0 sched_switch(cb00a2e0,0,104,1a3,33258623,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,74,...) at mi_switch+0x1ff sleepq_switch(cb00a2e0,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1289e48,74,c0f80192,0,0,...) at sleepq_wait+0x63 _sleep(c1289e48,c1289e4c,74,c0f80192,0,...) at _sleep+0x39c vm_daemon(0,ee315d28,c0f6cad0,3d8,ce1b2000,...) at vm_daemon+0x59 fork_exit(c0cc2fa0,0,ee315d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee315d60, ebp = 0 --- Tracing command pagedaemon pid 7 tid 100072 td 0xcb00a5c0 sched_switch(cb00a5c0,0,104,1a3,332c9899,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,54,...) at mi_switch+0x1ff sleepq_switch(cb00a5c0,0,c0f78220,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1289e10,54,c0f80192,0,0,...) at sleepq_timedwait+0x6b _sleep(c1289e10,c1288d00,54,c0f80192,1388,...) at _sleep+0x36a vm_pageout(0,ee312d28,c0f6cad0,3d8,ca7332cc,...) at vm_pageout+0x2c7 fork_exit(c0cc4020,0,ee312d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee312d60, ebp = 0 --- Tracing command xpt_thrd pid 6 tid 100071 td 0xcb00a8a0 sched_switch(cb00a8a0,0,104,1a3,a98da07b,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(cb00a8a0,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10cee54,5c,c0dd3f07,0,0,...) at sleepq_wait+0x63 _sleep(c10cee54,c10cee98,5c,c0dd3f07,0,...) at _sleep+0x39c xpt_scanner_thread(0,ee18fd28,c0f6cad0,3d8,ca733598,...) at xpt_scanner_thread+0x47 fork_exit(c049e430,0,ee18fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee18fd60, ebp = 0 --- Tracing command sctp_iterator pid 5 tid 100070 td 0xcb00ab80 sched_switch(cb00ab80,0,104,1a3,97221665,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cb00ab80,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1283b98,0,c0f96e9f,0,0,...) at sleepq_wait+0x63 _sleep(c1283b98,c1283b60,0,c0f96e9f,0,...) at _sleep+0x39c sctp_iterator_thread(0,ee18cd28,c0f6cad0,3d8,ca733864,...) at sctp_iterator_thread+0x5c fork_exit(c0b76eb0,0,ee18cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee18cd60, ebp = 0 --- Tracing command ctl_thrd pid 4 tid 100067 td 0xcb00c5c0 sched_switch(cb00c5c0,0,104,1a3,97217aed,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(cb00c5c0,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(cb053000,5c,c0dde950,0,0,...) at sleepq_wait+0x63 _sleep(cb053000,cb053000,5c,c0dde950,0,...) at _sleep+0x39c ctl_work_thread(cb053000,ee183d28,c0f6cad0,3d8,ca733b30,...) at ctl_work_thread+0x22f6 fork_exit(c04c79d0,cb053000,ee183d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee183d60, ebp = 0 --- Tracing command fdc0 pid 3 tid 100064 td 0xcb00d000 sched_switch(cb00d000,0,104,1a3,f1553d9b,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(cb00d000,0,c0f78220,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(cab1c63c,5c,c0f64df2,0,0,...) at sleepq_timedwait+0x6b _sleep(cab1c63c,cab1c6f0,5c,c0f64df2,3e8,...) at _sleep+0x36a fdc_thread(cab1c600,ee17ad28,c0f6cad0,3d8,cac3f000,...) at fdc_thread+0x27d fork_exit(c0d4b940,cab1c600,ee17ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee17ad60, ebp = 0 --- Tracing command fw0_probe pid 2 tid 100062 td 0xcac6b5c0 sched_switch(cac6b5c0,0,104,1a3,a98dc979,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(cac6b5c0,0,c0f78220,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f78220,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(cad34000,6c,c0f64df2,100,0,...) at sleepq_wait_sig+0x17 _sleep(cad34000,cad38488,16c,c0f64df2,0,...) at _sleep+0x385 fw_bus_probe_thread(cad34000,ee16ad28,c0f6cad0,3d8,cac3f2cc,...) at fw_bus_probe_thread+0xa08 fork_exit(c06f7bc0,cad34000,ee16ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee16ad60, ebp = 0 --- Tracing command usb pid 15 tid 100058 td 0xcac8a2e0 sched_switch(cac8a2e0,0,104,1a3,971c9611,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac8a2e0,0,c0f78220,268,cac8a2e0,...) at sleepq_switch+0x162 sleepq_wait(cac93d34,0,ee153cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac93d34,cac93e4c,c0f56471,74,cac93d3c,...) at _cv_wait+0x260 usb_process(cac93d2c,ee153d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac93d2c,ee153d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee153d60, ebp = 0 --- Tracing command usb pid 15 tid 100057 td 0xcac8a5c0 sched_switch(cac8a5c0,0,104,1a3,171981c6,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac8a5c0,0,c0f78220,268,cac8a5c0,...) at sleepq_switch+0x162 sleepq_wait(cac93d04,0,ee150cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac93d04,cac93e4c,c0f56471,74,cac93d0c,...) at _cv_wait+0x260 usb_process(cac93cfc,ee150d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac93cfc,ee150d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee150d60, ebp = 0 --- Tracing command usb pid 15 tid 100056 td 0xcac8a8a0 sched_switch(cac8a8a0,0,104,1a3,96b4e8c7,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac8a8a0,0,c0f78220,268,cac8a8a0,...) at sleepq_switch+0x162 sleepq_wait(cac93cd4,0,ee14dcac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac93cd4,cac93e4c,c0f56471,74,cac93cdc,...) at _cv_wait+0x260 usb_process(cac93ccc,ee14dd28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac93ccc,ee14dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee14dd60, ebp = 0 --- Tracing command usb pid 15 tid 100055 td 0xcac8ab80 sched_switch(cac8ab80,0,104,1a3,96b4d7cb,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac8ab80,0,c0f78220,268,cac8ab80,...) at sleepq_switch+0x162 sleepq_wait(cac93ca4,0,ee14acac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac93ca4,cac93e4c,c0f56471,74,cac93cac,...) at _cv_wait+0x260 usb_process(cac93c9c,ee14ad28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac93c9c,ee14ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee14ad60, ebp = 0 --- Tracing command usb pid 15 tid 100053 td 0xcac8c2e0 sched_switch(cac8c2e0,0,104,1a3,96b4c444,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac8c2e0,0,c0f78220,268,cac8c2e0,...) at sleepq_switch+0x162 sleepq_wait(cac7bb5c,0,ee141cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac7bb5c,cac7bc74,c0f56471,74,cac7bb64,...) at _cv_wait+0x260 usb_process(cac7bb54,ee141d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac7bb54,ee141d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee141d60, ebp = 0 --- Tracing command usb pid 15 tid 100052 td 0xcac8c5c0 sched_switch(cac8c5c0,0,104,1a3,e31727e,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac8c5c0,0,c0f78220,268,cac8c5c0,...) at sleepq_switch+0x162 sleepq_wait(cac7bb2c,0,ee13ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac7bb2c,cac7bc74,c0f56471,74,cac7bb34,...) at _cv_wait+0x260 usb_process(cac7bb24,ee13ed28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac7bb24,ee13ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee13ed60, ebp = 0 --- Tracing command usb pid 15 tid 100051 td 0xcac68000 sched_switch(cac68000,0,104,1a3,9650d7e2,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac68000,0,c0f78220,268,cac68000,...) at sleepq_switch+0x162 sleepq_wait(cac7bafc,0,ee13bcac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac7bafc,cac7bc74,c0f56471,74,cac7bb04,...) at _cv_wait+0x260 usb_process(cac7baf4,ee13bd28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac7baf4,ee13bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee13bd60, ebp = 0 --- Tracing command usb pid 15 tid 100050 td 0xcac682e0 sched_switch(cac682e0,0,104,1a3,9650c707,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac682e0,0,c0f78220,268,cac682e0,...) at sleepq_switch+0x162 sleepq_wait(cac7bacc,0,ee138cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac7bacc,cac7bc74,c0f56471,74,cac7bad4,...) at _cv_wait+0x260 usb_process(cac7bac4,ee138d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac7bac4,ee138d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee138d60, ebp = 0 --- Tracing command usb pid 15 tid 100049 td 0xcac685c0 sched_switch(cac685c0,0,104,1a3,9650b0d2,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac685c0,0,c0f78220,268,cac685c0,...) at sleepq_switch+0x162 sleepq_wait(cac6eb5c,0,ee134cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac6eb5c,cac6ec74,c0f56471,74,cac6eb64,...) at _cv_wait+0x260 usb_process(cac6eb54,ee134d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac6eb54,ee134d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee134d60, ebp = 0 --- Tracing command usb pid 15 tid 100048 td 0xcac688a0 sched_switch(cac688a0,0,104,1a3,b831022,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac688a0,0,c0f78220,268,cac688a0,...) at sleepq_switch+0x162 sleepq_wait(cac6eb2c,0,ee131cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac6eb2c,cac6ec74,c0f56471,74,cac6eb34,...) at _cv_wait+0x260 usb_process(cac6eb24,ee131d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac6eb24,ee131d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee131d60, ebp = 0 --- Tracing command usb pid 15 tid 100047 td 0xcac68b80 sched_switch(cac68b80,0,104,1a3,9076fbce,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac68b80,0,c0f78220,268,cac68b80,...) at sleepq_switch+0x162 sleepq_wait(cac6eafc,0,ee12ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac6eafc,cac6ec74,c0f56471,74,cac6eb04,...) at _cv_wait+0x260 usb_process(cac6eaf4,ee12ed28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac6eaf4,ee12ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee12ed60, ebp = 0 --- Tracing command usb pid 15 tid 100046 td 0xcac69000 sched_switch(cac69000,0,104,1a3,9076e9cb,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac69000,0,c0f78220,268,cac69000,...) at sleepq_switch+0x162 sleepq_wait(cac6eacc,0,ee12bcac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac6eacc,cac6ec74,c0f56471,74,cac6ead4,...) at _cv_wait+0x260 usb_process(cac6eac4,ee12bd28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac6eac4,ee12bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee12bd60, ebp = 0 --- Tracing command usb pid 15 tid 100045 td 0xcac692e0 sched_switch(cac692e0,0,104,1a3,9076d132,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac692e0,0,c0f78220,268,cac692e0,...) at sleepq_switch+0x162 sleepq_wait(cac61b5c,0,ee127cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac61b5c,cac61c74,c0f56471,74,cac61b64,...) at _cv_wait+0x260 usb_process(cac61b54,ee127d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac61b54,ee127d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee127d60, ebp = 0 --- Tracing command usb pid 15 tid 100044 td 0xcac695c0 sched_switch(cac695c0,0,104,1a3,a54b40c,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac695c0,0,c0f78220,268,cac695c0,...) at sleepq_switch+0x162 sleepq_wait(cac61b2c,0,ee124cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac61b2c,cac61c74,c0f56471,74,cac61b34,...) at _cv_wait+0x260 usb_process(cac61b24,ee124d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac61b24,ee124d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee124d60, ebp = 0 --- Tracing command usb pid 15 tid 100043 td 0xcac698a0 sched_switch(cac698a0,0,104,1a3,90134186,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac698a0,0,c0f78220,268,cac698a0,...) at sleepq_switch+0x162 sleepq_wait(cac61afc,0,ee121cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac61afc,cac61c74,c0f56471,74,cac61b04,...) at _cv_wait+0x260 usb_process(cac61af4,ee121d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac61af4,ee121d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee121d60, ebp = 0 --- Tracing command usb pid 15 tid 100042 td 0xcac69b80 sched_switch(cac69b80,0,104,1a3,90132fad,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac69b80,0,c0f78220,268,cac69b80,...) at sleepq_switch+0x162 sleepq_wait(cac61acc,0,ee11ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac61acc,cac61c74,c0f56471,74,cac61ad4,...) at _cv_wait+0x260 usb_process(cac61ac4,ee11ed28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac61ac4,ee11ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee11ed60, ebp = 0 --- Tracing command usb pid 15 tid 100040 td 0xcac38000 sched_switch(cac38000,0,104,1a3,90131c6c,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac38000,0,c0f78220,268,cac38000,...) at sleepq_switch+0x162 sleepq_wait(cac43b5c,0,ee117cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac43b5c,cac43c74,c0f56471,74,cac43b64,...) at _cv_wait+0x260 usb_process(cac43b54,ee117d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac43b54,ee117d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee117d60, ebp = 0 --- Tracing command usb pid 15 tid 100039 td 0xcac382e0 sched_switch(cac382e0,0,104,1a3,90b7f69,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac382e0,0,c0f78220,268,cac382e0,...) at sleepq_switch+0x162 sleepq_wait(cac43b2c,0,ee114cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac43b2c,cac43c74,c0f56471,74,cac43b34,...) at _cv_wait+0x260 usb_process(cac43b24,ee114d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac43b24,ee114d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee114d60, ebp = 0 --- Tracing command usb pid 15 tid 100038 td 0xcac385c0 sched_switch(cac385c0,0,104,1a3,8faf414d,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac385c0,0,c0f78220,268,cac385c0,...) at sleepq_switch+0x162 sleepq_wait(cac43afc,0,ee111cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac43afc,cac43c74,c0f56471,74,cac43b04,...) at _cv_wait+0x260 usb_process(cac43af4,ee111d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac43af4,ee111d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee111d60, ebp = 0 --- Tracing command usb pid 15 tid 100037 td 0xcac388a0 sched_switch(cac388a0,0,104,1a3,8faf2f6f,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac388a0,0,c0f78220,268,cac388a0,...) at sleepq_switch+0x162 sleepq_wait(cac43acc,0,ee10ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac43acc,cac43c74,c0f56471,74,cac43ad4,...) at _cv_wait+0x260 usb_process(cac43ac4,ee10ed28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac43ac4,ee10ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee10ed60, ebp = 0 --- Tracing command usb pid 15 tid 100035 td 0xcac3a000 sched_switch(cac3a000,0,104,1a3,8faf1a94,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac3a000,0,c0f78220,268,cac3a000,...) at sleepq_switch+0x162 sleepq_wait(cac32b5c,0,ee107cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac32b5c,cac32c74,c0f56471,74,cac32b64,...) at _cv_wait+0x260 usb_process(cac32b54,ee107d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac32b54,ee107d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee107d60, ebp = 0 --- Tracing command usb pid 15 tid 100034 td 0xcac3a2e0 sched_switch(cac3a2e0,0,104,1a3,738b866,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac3a2e0,0,c0f78220,268,cac3a2e0,...) at sleepq_switch+0x162 sleepq_wait(cac32b2c,0,ee104cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac32b2c,cac32c74,c0f56471,74,cac32b34,...) at _cv_wait+0x260 usb_process(cac32b24,ee104d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac32b24,ee104d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee104d60, ebp = 0 --- Tracing command usb pid 15 tid 100033 td 0xcac3a5c0 sched_switch(cac3a5c0,0,104,1a3,8f4ae9bd,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac3a5c0,0,c0f78220,268,cac3a5c0,...) at sleepq_switch+0x162 sleepq_wait(cac32afc,0,ee101cac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac32afc,cac32c74,c0f56471,74,cac32b04,...) at _cv_wait+0x260 usb_process(cac32af4,ee101d28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac32af4,ee101d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee101d60, ebp = 0 --- Tracing command usb pid 15 tid 100032 td 0xcac3a8a0 sched_switch(cac3a8a0,0,104,1a3,8f4ad839,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac3a8a0,0,c0f78220,268,cac3a8a0,...) at sleepq_switch+0x162 sleepq_wait(cac32acc,0,ee0fecac,1,0,...) at sleepq_wait+0x63 _cv_wait(cac32acc,cac32c74,c0f56471,74,cac32ad4,...) at _cv_wait+0x260 usb_process(cac32ac4,ee0fed28,c0f6cad0,3d8,cac3f598,...) at usb_process+0x1a3 fork_exit(c091d8c0,cac32ac4,ee0fed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee0fed60, ebp = 0 --- Tracing command yarrow pid 14 tid 100017 td 0xca8535c0 sched_switch(ca8535c0,0,104,1a3,396e6fac,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(ca8535c0,0,c0f78220,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c110aca4,0,c0f64df2,2,0,...) at sleepq_timedwait+0x6b _sleep(c110aca4,0,0,c0f64df2,64) at _sleep+0x36a pause(c0f64df2,64,c0f324f0,111,0,...) at pause+0xa0 random_kthread(0,c7b52d28,c0f6cad0,3d8,ca732000,...) at random_kthread+0x1ef fork_exit(c081b580,0,c7b52d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b52d60, ebp = 0 --- Tracing command geom pid 13 tid 100015 td 0xca853b80 sched_switch(ca853b80,0,104,1a3,356d33f1,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(ca853b80,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1107ee8,5c,c0f64df2,0,0,...) at sleepq_wait+0x63 _sleep(c1107ee8,c1107e48,25c,c0f64df2,0,...) at _sleep+0x39c g_io_schedule_down(ca853b80,0,c0f66941,6c,c7b4bd14,...) at g_io_schedule_down+0x5b g_down_procbody(0,c7b4bd28,c0f6cad0,3d8,ca7322cc,...) at g_down_procbody+0x9d fork_exit(c09d4480,0,c7b4bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b4bd60, ebp = 0 --- Tracing command geom pid 13 tid 100014 td 0xca854000 sched_switch(ca854000,0,104,1a3,35711d3a,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(ca854000,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1107ee4,5c,c0f64df2,0,0,...) at sleepq_wait+0x63 _sleep(c1107ee4,c1107e68,25c,c0f64df2,0,...) at _sleep+0x39c g_io_schedule_up(ca854000,0,c0f66941,5f,c7b48d14,...) at g_io_schedule_up+0x134 g_up_procbody(0,c7b48d28,c0f6cad0,3d8,ca7322cc,...) at g_up_procbody+0x9d fork_exit(c09d4520,0,c7b48d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b48d60, ebp = 0 --- Tracing command geom pid 13 tid 100013 td 0xca7362e0 sched_switch(ca7362e0,0,104,1a3,3548a860,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(ca7362e0,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1107edc,5c,c0f64df2,0,0,...) at sleepq_wait+0x63 _sleep(c1107edc,c1107e0c,25c,c0f64df2,0,...) at _sleep+0x39c g_run_events(c1118b00,0,c0f66941,79,c7b45d14,...) at g_run_events+0x54b g_event_procbody(0,c7b45d28,c0f6cad0,3d8,ca7322cc,...) at g_event_procbody+0x90 fork_exit(c09d45c0,0,c7b45d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b45d60, ebp = 0 --- Tracing command intr pid 12 tid 100066 td 0xcb00c8a0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100065 td 0xcb00cb80 sched_switch(cb00cb80,0,109,1a3,8f46b51d,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,cb00cb80,...) at mi_switch+0x1ff ithread_loop(cafcc180,ee17dd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cafcc180,ee17dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee17dd60, ebp = 0 --- Tracing command intr pid 12 tid 100063 td 0xcac6b2e0 sched_switch(cac6b2e0,0,109,1a3,32f938dc,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,cac6b2e0,...) at mi_switch+0x1ff ithread_loop(cafcc680,ee16dd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cafcc680,ee16dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee16dd60, ebp = 0 --- Tracing command intr pid 12 tid 100060 td 0xcac6bb80 sched_switch(cac6bb80,0,109,1a3,12a73f9b,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,cac6bb80,...) at mi_switch+0x1ff ithread_loop(cac3ee80,ee161d28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cac3ee80,ee161d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee161d60, ebp = 0 --- Tracing command intr pid 12 tid 100059 td 0xcac8a000 sched_switch(cac8a000,0,109,1a3,31328575,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,cac8a000,...) at mi_switch+0x1ff ithread_loop(cacea680,ee159d28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cacea680,ee159d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee159d60, ebp = 0 --- Tracing command intr pid 12 tid 100054 td 0xcac8c000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100041 td 0xcac6b000 sched_switch(cac6b000,0,109,1a3,b3f8c9cc,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,cac6b000,...) at mi_switch+0x1ff ithread_loop(cac3e380,ee11bd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cac3e380,ee11bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee11bd60, ebp = 0 --- Tracing command intr pid 12 tid 100036 td 0xcac38b80 sched_switch(cac38b80,0,109,1a3,aed2da22,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,cac38b80,...) at mi_switch+0x1ff ithread_loop(cac3e780,ee10bd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cac3e780,ee10bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee10bd60, ebp = 0 --- Tracing command intr pid 12 tid 100031 td 0xcac3ab80 sched_switch(cac3ab80,0,109,1a3,f1e80e29,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,cac3ab80,...) at mi_switch+0x1ff ithread_loop(cab10980,ee0fbd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cab10980,ee0fbd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee0fbd60, ebp = 0 --- Tracing command intr pid 12 tid 100030 td 0xca8542e0 sched_switch(ca8542e0,0,109,1a3,3570579f,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,ca8542e0,...) at mi_switch+0x1ff ithread_loop(cab10180,edfa5d28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,cab10180,edfa5d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xedfa5d60, ebp = 0 --- Tracing command intr pid 12 tid 100029 td 0xca8545c0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100028 td 0xca8548a0 sched_switch(ca8548a0,0,109,1a3,80d26197,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,ca8548a0,...) at mi_switch+0x1ff ithread_loop(caa3f980,c7ba1d28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,caa3f980,c7ba1d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7ba1d60, ebp = 0 --- Tracing command intr pid 12 tid 100026 td 0xcaa41000 sched_switch(caa41000,0,109,1a3,3570bd45,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,caa41000,...) at mi_switch+0x1ff ithread_loop(ca85c780,c7b6dd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,ca85c780,c7b6dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b6dd60, ebp = 0 --- Tracing command intr pid 12 tid 100022 td 0xcaa41b80 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100021 td 0xca77e8a0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100019 td 0xca853000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100012 td 0xca7365c0 sched_switch(ca7365c0,0,109,1a3,2eb33f64,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,ca7365c0,...) at mi_switch+0x1ff ithread_loop(ca6c6780,c7b42d28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,ca6c6780,c7b42d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b42d60, ebp = 0 --- Tracing command intr pid 12 tid 100011 td 0xca7368a0 sched_switch(ca7368a0,0,109,1a3,ee53a6d8,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,ca7368a0,...) at mi_switch+0x1ff ithread_loop(ca6c6980,c7b3fd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,ca6c6980,c7b3fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b3fd60, ebp = 0 --- Tracing command intr pid 12 tid 100010 td 0xca736b80 sched_switch(ca736b80,0,109,1a3,396dc4a0,...) at sched_switch+0x3fc mi_switch(109,0,c0f6cdf3,557,ca736b80,...) at mi_switch+0x1ff ithread_loop(ca6c6b80,c7b3cd28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0x1fb fork_exit(c0a176a0,ca6c6b80,c7b3cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b3cd60, ebp = 0 --- Tracing command intr pid 12 tid 100009 td 0xca77e000 cpustop_handler(0,c7b39b40,c0daa566,0,c7b39b08,...) at cpustop_handler+0x26 ipi_nmi_handler(0,c7b39b08,10e5380,c0a31652,ca732598,...) at ipi_nmi_handler+0x35 trap(c7b39b4c) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0a31650, esp = 0xc7b39b8c, ebp = 0xc7b39bb8 --- _mtx_lock_sleep(c1109c10,ca77e000,0,c0f70a7b,9a,...) at _mtx_lock_sleep+0x180 _mtx_lock_flags(c1109c10,0,c0f70a7b,9a,c7b39c90,...) at _mtx_lock_flags+0xff lock_mtx(c1109c10,1,c0f73ede,216,24,...) at lock_mtx+0x29 softclock(c110bee0,c7b39cb8,c0a30e6d,c1118b00,ca782ab8,...) at softclock+0x1ea intr_event_execute_handlers(ca732598,ca782a80,c0f6cdf3,561,ca77e000,...) at intr_event_execute_handlers+0x125 ithread_loop(ca6c6d80,c7b39d28,c0f6cad0,3d8,ca732598,...) at ithread_loop+0xa9 fork_exit(c0a176a0,ca6c6d80,c7b39d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b39d60, ebp = 0 --- Tracing command intr pid 12 tid 100008 td 0xca77e2e0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100007 td 0xca77e5c0 fork_trampoline() at fork_trampoline Tracing command idle pid 11 tid 100006 td 0xca735000 cpustop_handler(3,c7b2fbfc,c0daa566,c7b2fba0,c0dc4c3e,...) at cpustop_handler+0x26 ipi_nmi_handler(c7b2fba0,c0dc4c3e,c110bfd0,ca735000,ca732864,...) at ipi_nmi_handler+0x35 trap(c7b2fc08) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d8fd85, esp = 0xc7b2fc48, ebp = 0xc7b2fc48 --- acpi_cpu_c1(c7b2fc64,c10cf430,3,317,9,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c7b2fc98,c0d9cf99,0,3,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,3,0,2,c7b2fce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c7b2fcc0,c0f748a2,a1f,ca735000,...) at cpu_idle+0x89 sched_idletd(0,c7b2fd28,c0f6cad0,3d8,ca732864,...) at sched_idletd+0x235 fork_exit(c0a697a0,0,c7b2fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b2fd60, ebp = 0 --- Tracing command idle pid 11 tid 100005 td 0xca7352e0 sched_switch(ca7352e0,0,108,19e,35711551,...) at sched_switch+0x3fc mi_switch(108,0,c0f748a2,a1d,ca7352e0,...) at mi_switch+0x1ff sched_idletd(0,c7b2cd28,c0f6cad0,3d8,ca732864,...) at sched_idletd+0x28f fork_exit(c0a697a0,0,c7b2cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b2cd60, ebp = 0 --- Tracing command idle pid 11 tid 100004 td 0xca7355c0 cpustop_handler(1,c7b29bfc,c0daa566,0,c7b29bc4,...) at cpustop_handler+0x26 ipi_nmi_handler(0,c7b29bc4,15ca580,c0d8fd85,ca732864,...) at ipi_nmi_handler+0x35 trap(c7b29c08) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d8fd85, esp = 0xc7b29c48, ebp = 0xc7b29c48 --- acpi_cpu_c1(c7b29c64,c10cf430,1,317,a,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c7b29c98,c0d9cf99,0,1,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,1,0,2,c7b29ce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c7b29cc0,c0f748a2,a1f,ca7355c0,...) at cpu_idle+0x89 sched_idletd(0,c7b29d28,c0f6cad0,3d8,ca732864,...) at sched_idletd+0x235 fork_exit(c0a697a0,0,c7b29d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b29d60, ebp = 0 --- Tracing command idle pid 11 tid 100003 td 0xca7358a0 sched_switch(ca7358a0,0,608,19e,38768b6c,...) at sched_switch+0x3fc mi_switch(608,0,c0f7301f,cd,0,...) at mi_switch+0x1ff critical_exit(0,2710,c1118b00,2,c7b26ce8,...) at critical_exit+0xb5 cpu_idle(0,c7b26cc0,c0f748a2,a1f,ca7358a0,...) at cpu_idle+0x97 sched_idletd(0,c7b26d28,c0f6cad0,3d8,ca732864,...) at sched_idletd+0x235 fork_exit(c0a697a0,0,c7b26d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b26d60, ebp = 0 --- Tracing command init pid 1 tid 100002 td 0xca735b80 sched_switch(ca735b80,0,104,1a3,74b55297,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(ca735b80,0,c0f78220,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f78220,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca732b30,6c,c0f7b165,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca732b30,ca732bb8,16c,c0f7b165,0,...) at _sleep+0x385 kern_wait(ca735b80,ffffffff,c7b22c5c,2,0,...) at kern_wait+0x597 sys_wait4(ca735b80,c7b22cec,c0fc4afc,c,282,...) at sys_wait4+0x3b syscall(c7b22d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x80601ff, esp = 0xbfbfe86c, ebp = 0xbfbfe888 --- Tracing command audit pid 10 tid 100001 td 0xca736000 sched_switch(ca736000,0,104,1a3,8f483624,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(ca736000,0,c0f78220,268,ca736000,...) at sleepq_switch+0x162 sleepq_wait(c1287ac0,0,c7b1fc8c,1,0,...) at sleepq_wait+0x63 _cv_wait(c1287ac0,c1287aa4,c0fa3ad7,194,0,...) at _cv_wait+0x260 audit_worker(0,c7b1fd28,c0f6cad0,3d8,ca733000,...) at audit_worker+0x84 fork_exit(c0c450f0,0,c7b1fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b1fd60, ebp = 0 --- Tracing command kernel pid 0 tid 100069 td 0xcb00c000 sched_switch(cb00c000,0,104,1a3,1ac3161c,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cb00c000,0,c0f78220,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c110aca4,0,c0f64df2,2,0,...) at sleepq_timedwait+0x6b _sleep(c110aca4,0,0,c0f64df2,bb8) at _sleep+0x36a pause(c0f64df2,bb8,126,124,c1108088,...) at pause+0xa0 deadlkres(0,ee189d28,c0f6cad0,3d8,c1108000,...) at deadlkres+0x324 fork_exit(c09f6910,0,ee189d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee189d60, ebp = 0 --- Tracing command kernel pid 0 tid 100068 td 0xcb00c2e0 sched_switch(cb00c2e0,0,104,1a3,8f481af9,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cb00c2e0,0,c0f78220,268,cb00c2e0,...) at sleepq_switch+0x162 sleepq_wait(cde6a080,0,c0f73541,c0f64df2,0,...) at sleepq_wait+0x63 msleep_spin(cde6a080,cde6a098,c0f64df2,0,c0f70a7b,...) at msleep_spin+0x259 taskqueue_thread_loop(c12e9180,ee186d28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86840,c12e9180,ee186d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee186d60, ebp = 0 --- Tracing command kernel pid 0 tid 100061 td 0xcac6b8a0 sched_switch(cac6b8a0,0,104,1a3,12a766ac,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(cac6b8a0,0,c0f78220,268,cac6b8a0,...) at sleepq_switch+0x162 sleepq_wait(cad3d180,0,c0f73541,c0f64df2,0,...) at sleepq_wait+0x63 msleep_spin(cad3d180,cad3d198,c0f64df2,0,c0f70a7b,...) at msleep_spin+0x259 taskqueue_thread_loop(cad3849c,ee167d28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86840,cad3849c,ee167d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee167d60, ebp = 0 --- Tracing command kernel pid 0 tid 100027 td 0xca854b80 sched_switch(ca854b80,0,104,1a3,a993ba14,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(ca854b80,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(caa40180,0,c0f64df2,0,0,...) at sleepq_wait+0x63 _sleep(caa40180,caa40198,0,c0f64df2,0,...) at _sleep+0x39c taskqueue_thread_loop(c1108998,c7b70d28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86840,c1108998,c7b70d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b70d60, ebp = 0 --- Tracing command kernel pid 0 tid 100025 td 0xcaa412e0 sched_switch(caa412e0,0,104,1a3,a993a752,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(caa412e0,0,c0f78220,268,caa412e0,...) at sleepq_switch+0x162 sleepq_wait(caa40580,0,c0f73541,c0f64df2,0,...) at sleepq_wait+0x63 msleep_spin(caa40580,caa40598,c0f64df2,0,c0f70a7b,...) at msleep_spin+0x259 taskqueue_thread_loop(c10d20b8,c7b6ad28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86840,c10d20b8,c7b6ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b6ad60, ebp = 0 --- Tracing command kernel pid 0 tid 100024 td 0xcaa415c0 sched_switch(caa415c0,0,104,1a3,a9939924,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(caa415c0,0,c0f78220,268,caa415c0,...) at sleepq_switch+0x162 sleepq_wait(caa40580,0,c0f73541,c0f64df2,0,...) at sleepq_wait+0x63 msleep_spin(caa40580,caa40598,c0f64df2,0,c0f70a7b,...) at msleep_spin+0x259 taskqueue_thread_loop(c10d20b8,c7b67d28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86840,c10d20b8,c7b67d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b67d60, ebp = 0 --- Tracing command kernel pid 0 tid 100023 td 0xcaa418a0 sched_switch(caa418a0,0,104,1a3,a99388d3,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(caa418a0,0,c0f78220,268,caa418a0,...) at sleepq_switch+0x162 sleepq_wait(caa40580,0,c0f73541,c0f64df2,0,...) at sleepq_wait+0x63 msleep_spin(caa40580,caa40598,c0f64df2,0,c0f70a7b,...) at msleep_spin+0x259 taskqueue_thread_loop(c10d20b8,c7b64d28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86840,c10d20b8,c7b64d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b64d60, ebp = 0 --- Tracing command kernel pid 0 tid 100020 td 0xca77eb80 sched_switch(ca77eb80,0,104,1a3,31b2000d,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(ca77eb80,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(caa2c780,0,c0f64df2,0,0,...) at sleepq_wait+0x63 _sleep(caa2c780,caa2c798,0,c0f64df2,0,...) at _sleep+0x39c taskqueue_thread_loop(c112786c,c7b5bd28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86840,c112786c,c7b5bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b5bd60, ebp = 0 --- Tracing command kernel pid 0 tid 100018 td 0xca8532e0 sched_switch(ca8532e0,0,104,1a3,a98e0939,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(ca8532e0,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(caa2ca80,0,c0f64df2,0,0,...) at sleepq_wait+0x63 _sleep(caa2ca80,caa2ca98,0,c0f64df2,0,...) at _sleep+0x39c taskqueue_thread_loop(c12880a4,c7b55d28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86840,c12880a4,c7b55d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b55d60, ebp = 0 --- Tracing command kernel pid 0 tid 100016 td 0xca8538a0 sched_switch(ca8538a0,0,104,1a3,6dc3cc37,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,0,...) at mi_switch+0x1ff sleepq_switch(ca8538a0,0,c0f78220,268,0,...) at sleepq_switch+0x162 sleepq_wait(ca730880,0,c0f64df2,0,0,...) at sleepq_wait+0x63 _sleep(ca730880,ca730898,0,c0f64df2,0,...) at _sleep+0x39c taskqueue_thread_loop(c1126280,c7b4ed28,c0f6cad0,3d8,c1108000,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86840,c1126280,c7b4ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b4ed60, ebp = 0 --- Tracing command kernel pid 0 tid 100000 td 0xc11082d0 sched_switch(c11082d0,0,104,1a3,35863795,...) at sched_switch+0x3fc mi_switch(104,0,c0f78220,1f3,54,...) at mi_switch+0x1ff sleepq_switch(c11082d0,0,c0f78220,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1108000,54,c0f75175,0,0,...) at sleepq_timedwait+0x6b _sleep(c1108000,0,54,c0f75175,2710,...) at _sleep+0x36a scheduler(0,181ec00,181ec00,181e000,1825000,...) at scheduler+0x240 mi_startup() at mi_startup+0xac begin() at begin+0x2c db:0:allt> call doadump Physical memory: 3435 MB Dumping 161 MB: 146 130 114 98 82 66 50 34 18 2 Dump complete = 0 db:0:doadump> reset cpu_reset: Restarting BSP cpu_reset_proxy: Stopped CPU 2 (kgdb) bt #0 doadump (textdump=0x0) at pcpu.h:244 #1 0xc05121f9 in db_fncall (dummy1=0xc0c8a862, dummy2=0x0, dummy3=0xffffffff, dummy4=0xf277e4f8 "\fåwò") at ../../../ddb/db_command.c:573 #2 0xc051262f in db_command (last_cmdp=0xc10d027c, cmd_table=0x0, dopager=0x0) at ../../../ddb/db_command.c:449 #3 0xc05126e4 in db_command_script (command=0xc10d1188 "call doadump") at ../../../ddb/db_command.c:520 #4 0xc0516b20 in db_script_exec (scriptname=0xc10d0ae0 "doadump", warnifnotfound=Variable "warnifnotfound" is not available. ) at ../../../ddb/db_script.c:302 #5 0xc0516bb1 in db_run_cmd (addr=0x1, have_addr=0x0, count=0xc12a97c0, modif=0xf277e630 "") at ../../../ddb/db_script.c:375 #6 0xc05125f1 in db_command (last_cmdp=0xc10d027c, cmd_table=0x0, dopager=0x1) at ../../../ddb/db_command.c:449 #7 0xc051274a in db_command_loop () at ../../../ddb/db_command.c:502 #8 0xc051473d in db_trap (type=0xc, code=0x0) at ../../../ddb/db_main.c:231 #9 0xc0a78466 in kdb_trap (type=0xc, code=0x0, tf=0xf277e880) at ../../../kern/subr_kdb.c:654 #10 0xc0da99bf in trap_fatal (frame=0xf277e880, eva=0xc7c05fc0) at ../../../i386/i386/trap.c:1013 #11 0xc0da9dae in trap_pfault (frame=0xf277e880, usermode=0x0, eva=0xc7c05fc0) at ../../../i386/i386/trap.c:936 #12 0xc0daa9c5 in trap (frame=0xf277e880) at ../../../i386/i386/trap.c:546 #13 0xc0d9442c in calltrap () at ../../../i386/i386/exception.s:169 #14 0xc0c8a862 in ffs_mount (mp=0xce2adb40) at ../../../ufs/ffs/ffs_vfsops.c:704 #15 0xc0ad8d24 in vfs_donmount (td=0xce3af2e0, fsflags=0x51001, fsoptions=0xce25dd00) at ../../../kern/vfs_mount.c:957 #16 0xc0ad948f in sys_nmount (td=0xce3af2e0, uap=0xf277ecec) at ../../../kern/vfs_mount.c:419 #17 0xc0daa0a7 in syscall (frame=0xf277ed28) at subr_syscall.c:135 #18 0xc0d94491 in Xint0x80_syscall () at ../../../i386/i386/exception.s:267 #19 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) f 14 #14 0xc0c8a862 in ffs_mount (mp=0xce2adb40) at ../../../ufs/ffs/ffs_vfsops.c:704 704 *lp++ = fs->fs_contigsumsize; (kgdb) l 699 * We no longer know anything about clusters per cylinder group. 700 */ 701 if (fs->fs_contigsumsize > 0) { 702 lp = fs->fs_maxcluster; 703 for (i = 0; i < fs->fs_ncg; i++) 704 *lp++ = fs->fs_contigsumsize; 705 } 706 707 loop: 708 MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { (kgdb) p *fs $1 = {fs_firstfield = 0x0, fs_unused_1 = 0x0, fs_sblkno = 0x28, fs_cblkno = 0x30, fs_iblkno = 0x38, fs_dblkno = 0xbb8, fs_old_cgoffset = 0x0, fs_old_cgmask = 0x0, fs_old_time = 0x0, fs_old_size = 0x0, fs_old_dsize = 0x0, fs_ncg = 0xc, fs_bsize = 0x4000, fs_fsize = 0x800, fs_frag = 0x8, fs_minfree = 0x8, fs_old_rotdelay = 0x0, fs_old_rps = 0x0, fs_bmask = 0xffffc000, fs_fmask = 0xfffff800, fs_bshift = 0xe, fs_fshift = 0xb, fs_maxcontig = 0x8, fs_maxbpg = 0x800, fs_fragshift = 0x3, fs_fsbtodb = 0x2, fs_sbsize = 0x800, fs_spare1 = {0x0, 0x0}, fs_nindir = 0x800, fs_inopb = 0x40, fs_old_nspf = 0x0, fs_optim = 0x0, fs_old_npsect = 0x0, fs_old_interleave = 0x0, fs_old_trackskew = 0x0, fs_id = {0x4c972dc2, 0x33dea0d3}, fs_old_csaddr = 0x0, fs_cssize = 0x800, fs_cgsize = 0x4000, fs_spare2 = 0x0, fs_old_nsect = 0x0, fs_old_spc = 0x0, fs_old_ncyl = 0x0, fs_old_cpg = 0x0, fs_ipg = 0x5c00, fs_fpg = 0x16f88, fs_old_cstotal = {cs_ndir = 0x0, cs_nbfree = 0x0, cs_nifree = 0x0, cs_nffree = 0x0}, fs_fmod = 0x0, fs_clean = 0x1, fs_ronly = 0x1, fs_old_flags = 0x80, fs_fsmnt = "/", '\0' , fs_volname = '\0' , fs_swuid = 0x0, fs_pad = 0x0, fs_cgrotor = 0x1, fs_ocsp = {0x0 , 0x2be2830, 0xffffff00, 0x2be2000, 0xffffff00}, fs_contigdirs = 0xc7c05ff0
, fs_csp = 0xc7c077c0, fs_maxcluster = 0xc7c05fc0, fs_active = 0x0, fs_old_cpc = 0x0, fs_maxbsize = 0x4000, fs_unrefs = 0x0, fs_sparecon64 = {0x0 }, fs_sblockloc = 0x10000, fs_cstotal = {cs_ndir = 0xc5, cs_nbfree = 0x147ec, cs_nifree = 0x43362, cs_nffree = 0x67e, cs_numclusters = 0x0, cs_spare = { 0x0, 0x0, 0x0}}, fs_time = 0x4f8d42bd, fs_size = 0x100000, fs_dsize = 0xf7517, fs_csaddr = 0xbb8, fs_pendingblocks = 0x0, fs_pendinginodes = 0x0, fs_snapinum = {0x0 }, fs_avgfilesize = 0x4000, fs_avgfpdir = 0x40, fs_save_cgsize = 0x0, fs_mtime = 0x4f8d42ad, fs_sujfree = 0x0, fs_sparecon32 = {0x0 }, fs_flags = 0x0, fs_contigsumsize = 0x8, fs_maxsymlinklen = 0x78, fs_old_inodefmt = 0x0, fs_maxfilesize = 0x80100202ffff, fs_qbmask = 0x3fff, fs_qfmask = 0x7ff, fs_state = 0x0, fs_old_postblformat = 0x0, fs_old_nrpos = 0x0, fs_spare5 = {0x0, 0x0}, fs_magic = 0x19540119} (kgdb) p fs->fs_maxcluster $2 = (int32_t *) 0xc7c05fc0 (kgdb) $ svn diff -x -p /usr/src/sys Index: /usr/src/sys/nfsclient/nfs_vfsops.c =================================================================== --- /usr/src/sys/nfsclient/nfs_vfsops.c (revision 234335) +++ /usr/src/sys/nfsclient/nfs_vfsops.c (working copy) @@ -1457,19 +1457,15 @@ nfs_sync(struct mount *mp, int waitfor) * Force stale buffer cache information to be flushed. */ loop: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { /* XXX Racy bv_cnt check. */ if (VOP_ISLOCKED(vp) || vp->v_bufobj.bo_dirty.bv_cnt == 0 || waitfor == MNT_LAZY) { VI_UNLOCK(vp); - MNT_ILOCK(mp); continue; } if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { - MNT_ILOCK(mp); - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } error = VOP_FSYNC(vp, waitfor, td); @@ -1477,10 +1473,7 @@ loop: allerror = error; VOP_UNLOCK(vp, 0); vrele(vp); - - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); return (allerror); } Index: /usr/src/sys/nfsclient/nfs_subs.c =================================================================== --- /usr/src/sys/nfsclient/nfs_subs.c (revision 234335) +++ /usr/src/sys/nfsclient/nfs_subs.c (working copy) @@ -866,16 +866,10 @@ nfs_clearcommit(struct mount *mp) struct bufobj *bo; MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, nvp) { + MNT_VNODE_FOREACH_ALL(vp, mp, nvp) { bo = &vp->v_bufobj; - VI_LOCK(vp); - if (vp->v_iflag & VI_DOOMED) { - VI_UNLOCK(vp); - continue; - } vholdl(vp); VI_UNLOCK(vp); - MNT_IUNLOCK(mp); BO_LOCK(bo); TAILQ_FOREACH_SAFE(bp, &bo->bo_dirty.bv_hd, b_bobufs, nbp) { if (!BUF_ISLOCKED(bp) && @@ -885,9 +879,7 @@ nfs_clearcommit(struct mount *mp) } BO_UNLOCK(bo); vdrop(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); } /* Index: /usr/src/sys/fs/nfsclient/nfs_clvfsops.c =================================================================== --- /usr/src/sys/fs/nfsclient/nfs_clvfsops.c (revision 234335) +++ /usr/src/sys/fs/nfsclient/nfs_clvfsops.c (working copy) @@ -1508,24 +1508,21 @@ nfs_sync(struct mount *mp, int waitfor) MNT_IUNLOCK(mp); return (EBADF); } + MNT_IUNLOCK(mp); /* * Force stale buffer cache information to be flushed. */ loop: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { /* XXX Racy bv_cnt check. */ if (NFSVOPISLOCKED(vp) || vp->v_bufobj.bo_dirty.bv_cnt == 0 || waitfor == MNT_LAZY) { VI_UNLOCK(vp); - MNT_ILOCK(mp); continue; } if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { - MNT_ILOCK(mp); - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } error = VOP_FSYNC(vp, waitfor, td); @@ -1533,10 +1530,7 @@ loop: allerror = error; NFSVOPUNLOCK(vp, 0); vrele(vp); - - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); return (allerror); } Index: /usr/src/sys/fs/nfsclient/nfs_clsubs.c =================================================================== --- /usr/src/sys/fs/nfsclient/nfs_clsubs.c (revision 234335) +++ /usr/src/sys/fs/nfsclient/nfs_clsubs.c (working copy) @@ -367,17 +367,10 @@ ncl_clearcommit(struct mount *mp) struct buf *bp, *nbp; struct bufobj *bo; - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, nvp) { + MNT_VNODE_FOREACH_ALL(vp, mp, nvp) { bo = &vp->v_bufobj; - VI_LOCK(vp); - if (vp->v_iflag & VI_DOOMED) { - VI_UNLOCK(vp); - continue; - } vholdl(vp); VI_UNLOCK(vp); - MNT_IUNLOCK(mp); BO_LOCK(bo); TAILQ_FOREACH_SAFE(bp, &bo->bo_dirty.bv_hd, b_bobufs, nbp) { if (!BUF_ISLOCKED(bp) && @@ -387,9 +380,7 @@ ncl_clearcommit(struct mount *mp) } BO_UNLOCK(bo); vdrop(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); } /* Index: /usr/src/sys/fs/coda/coda_subr.c =================================================================== --- /usr/src/sys/fs/coda/coda_subr.c (revision 234335) +++ /usr/src/sys/fs/coda/coda_subr.c (working copy) @@ -365,13 +365,7 @@ coda_checkunmounting(struct mount *mp) struct cnode *cp; int count = 0, bad = 0; - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, nvp) { - VI_LOCK(vp); - if (vp->v_iflag & VI_DOOMED) { - VI_UNLOCK(vp); - continue; - } + MNT_VNODE_FOREACH_ALL(vp, mp, nvp) { cp = VTOC(vp); count++; if (!(cp->c_flags & C_UNMOUNTING)) { @@ -381,7 +375,6 @@ coda_checkunmounting(struct mount *mp) } VI_UNLOCK(vp); } - MNT_IUNLOCK(mp); } void Index: /usr/src/sys/fs/ext2fs/ext2_vfsops.c =================================================================== --- /usr/src/sys/fs/ext2fs/ext2_vfsops.c (revision 234335) +++ /usr/src/sys/fs/ext2fs/ext2_vfsops.c (working copy) @@ -480,19 +480,12 @@ ext2_reload(struct mount *mp, struct thread *td) } loop: - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - if (vp->v_iflag & VI_DOOMED) { - VI_UNLOCK(vp); - continue; - } - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { /* * Step 4: invalidate all cached file data. */ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { - MNT_VNODE_FOREACH_ABORT(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } if (vinvalbuf(vp, 0, 0, 0)) @@ -507,7 +500,7 @@ loop: if (error) { VOP_UNLOCK(vp, 0); vrele(vp); - MNT_VNODE_FOREACH_ABORT(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); return (error); } ext2_ei2i((struct ext2fs_dinode *) ((char *)bp->b_data + @@ -515,9 +508,7 @@ loop: brelse(bp); VOP_UNLOCK(vp, 0); vrele(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); return (0); } @@ -841,27 +832,24 @@ ext2_sync(struct mount *mp, int waitfor) */ MNT_ILOCK(mp); loop: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - if (vp->v_type == VNON || (vp->v_iflag & VI_DOOMED)) { + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { + if (vp->v_type == VNON) { VI_UNLOCK(vp); continue; } - MNT_IUNLOCK(mp); ip = VTOI(vp); if ((ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0 && (vp->v_bufobj.bo_dirty.bv_cnt == 0 || waitfor == MNT_LAZY)) { VI_UNLOCK(vp); - MNT_ILOCK(mp); continue; } error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, td); if (error) { MNT_ILOCK(mp); if (error == ENOENT) { - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } continue; @@ -870,9 +858,7 @@ loop: allerror = error; VOP_UNLOCK(vp, 0); vrele(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); /* * Force stale file system control information to be flushed. Index: /usr/src/sys/fs/msdosfs/msdosfs_vfsops.c =================================================================== --- /usr/src/sys/fs/msdosfs/msdosfs_vfsops.c (revision 234335) +++ /usr/src/sys/fs/msdosfs/msdosfs_vfsops.c (working copy) @@ -923,27 +923,22 @@ msdosfs_sync(struct mount *mp, int waitfor) /* * Write back each (modified) denode. */ - MNT_ILOCK(mp); loop: - MNT_VNODE_FOREACH(vp, mp, nvp) { - VI_LOCK(vp); - if (vp->v_type == VNON || (vp->v_iflag & VI_DOOMED)) { + MNT_VNODE_FOREACH_ALL(vp, mp, nvp) { + if (vp->v_type == VNON) { VI_UNLOCK(vp); continue; } - MNT_IUNLOCK(mp); dep = VTODE(vp); if ((dep->de_flag & (DE_ACCESS | DE_CREATE | DE_UPDATE | DE_MODIFIED)) == 0 && (vp->v_bufobj.bo_dirty.bv_cnt == 0 || waitfor == MNT_LAZY)) { VI_UNLOCK(vp); - MNT_ILOCK(mp); continue; } error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, td); if (error) { - MNT_ILOCK(mp); if (error == ENOENT) goto loop; continue; @@ -953,9 +948,7 @@ loop: allerror = error; VOP_UNLOCK(vp, 0); vrele(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); /* * Flush filesystem control info. Index: /usr/src/sys/sys/mount.h =================================================================== --- /usr/src/sys/sys/mount.h (revision 234335) +++ /usr/src/sys/sys/mount.h (working copy) @@ -187,6 +187,30 @@ struct mount { struct lock mnt_explock; /* vfs_export walkers lock */ }; +/* + * Definitions for MNT_VNODE_FOREACH_ALL. + */ +struct vnode *__mnt_vnode_next_all(struct vnode **mvp, struct mount *mp); +struct vnode *__mnt_vnode_first_all(struct vnode **mvp, struct mount *mp); +void __mnt_vnode_markerfree_all(struct vnode **mvp, struct mount *mp); + +#define MNT_VNODE_FOREACH_ALL(vp, mp, mvp) \ + for (vp = __mnt_vnode_first_all(&(mvp), (mp)); \ + (vp) != NULL; vp = __mnt_vnode_next_all(&(mvp), (mp))) + +#define MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp) \ + do { \ + MNT_ILOCK(mp); \ + __mnt_vnode_markerfree_all(&(mvp), (mp)); \ + /* MNT_IUNLOCK(mp); -- done in above function */ \ + mtx_assert(MNT_MTX(mp), MA_NOTOWNED); \ + } while (0) + +/* + * Definitions for MNT_VNODE_FOREACH. + * + * This interface has been deprecated in favor of MNT_VNODE_FOREACH_ALL. + */ struct vnode *__mnt_vnode_next(struct vnode **mvp, struct mount *mp); struct vnode *__mnt_vnode_first(struct vnode **mvp, struct mount *mp); void __mnt_vnode_markerfree(struct vnode **mvp, struct mount *mp); Index: /usr/src/sys/ufs/ufs/ufs_quota.c =================================================================== --- /usr/src/sys/ufs/ufs/ufs_quota.c (revision 234335) +++ /usr/src/sys/ufs/ufs/ufs_quota.c (working copy) @@ -598,32 +598,25 @@ quotaon(struct thread *td, struct mount *mp, int t * adding references to quota file being opened. * NB: only need to add dquot's for inodes being modified. */ - MNT_ILOCK(mp); again: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { - MNT_ILOCK(mp); - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto again; } if (vp->v_type == VNON || vp->v_writecount == 0) { VOP_UNLOCK(vp, 0); vrele(vp); - MNT_ILOCK(mp); continue; } error = getinoquota(VTOI(vp)); VOP_UNLOCK(vp, 0); vrele(vp); - MNT_ILOCK(mp); if (error) { - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); break; } } - MNT_IUNLOCK(mp); if (error) quotaoff_inchange(td, mp, type); @@ -669,19 +662,14 @@ quotaoff1(struct thread *td, struct mount *mp, int * Search vnodes associated with this mount point, * deleting any references to quota file being closed. */ - MNT_ILOCK(mp); again: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { if (vp->v_type == VNON) { VI_UNLOCK(vp); - MNT_ILOCK(mp); continue; } if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { - MNT_ILOCK(mp); - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto again; } ip = VTOI(vp); @@ -690,9 +678,7 @@ again: dqrele(vp, dq); VOP_UNLOCK(vp, 0); vrele(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); dqflush(qvp); /* Clear um_quotas before closing the quota vnode to prevent @@ -1057,20 +1043,16 @@ qsync(struct mount *mp) * Search vnodes associated with this mount point, * synchronizing any modified dquot structures. */ - MNT_ILOCK(mp); again: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { if (vp->v_type == VNON) { VI_UNLOCK(vp); continue; } - MNT_IUNLOCK(mp); error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td); if (error) { - MNT_ILOCK(mp); if (error == ENOENT) { - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto again; } continue; @@ -1081,9 +1063,7 @@ again: dqsync(vp, dq); } vput(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); return (0); } Index: /usr/src/sys/ufs/ffs/ffs_softdep.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_softdep.c (revision 234335) +++ /usr/src/sys/ufs/ffs/ffs_softdep.c (working copy) @@ -12642,29 +12642,21 @@ retry: fs->fs_cstotal.cs_nbfree <= needed) || (resource == FLUSH_INODES_WAIT && fs->fs_pendinginodes > 0 && fs->fs_cstotal.cs_nifree <= needed)) { - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(lvp, mp, mvp) { - VI_LOCK(lvp); + MNT_VNODE_FOREACH_ALL(lvp, mp, mvp) { if (TAILQ_FIRST(&lvp->v_bufobj.bo_dirty.bv_hd) == 0) { VI_UNLOCK(lvp); continue; } - MNT_IUNLOCK(mp); if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT, - curthread)) { - MNT_ILOCK(mp); + curthread)) continue; - } if (lvp->v_vflag & VV_NOSYNC) { /* unlinked */ vput(lvp); - MNT_ILOCK(mp); continue; } (void) ffs_syncvnode(lvp, MNT_NOWAIT, 0); vput(lvp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); lvp = ump->um_devvp; if (vn_lock(lvp, LK_EXCLUSIVE | LK_NOWAIT) == 0) { VOP_FSYNC(lvp, MNT_NOWAIT, curthread); Index: /usr/src/sys/ufs/ffs/ffs_vfsops.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_vfsops.c (revision 234335) +++ /usr/src/sys/ufs/ffs/ffs_vfsops.c (working copy) @@ -705,19 +705,12 @@ ffs_reload(struct mount *mp, struct thread *td) } loop: - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - if (vp->v_iflag & VI_DOOMED) { - VI_UNLOCK(vp); - continue; - } - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { /* * Step 4: invalidate all cached file data. */ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) { - MNT_VNODE_FOREACH_ABORT(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } if (vinvalbuf(vp, 0, 0, 0)) @@ -732,7 +725,7 @@ loop: if (error) { VOP_UNLOCK(vp, 0); vrele(vp); - MNT_VNODE_FOREACH_ABORT(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); return (error); } ffs_load_inode(bp, ip, fs, ip->i_number); @@ -740,9 +733,7 @@ loop: brelse(bp); VOP_UNLOCK(vp, 0); vrele(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); return (0); } @@ -1441,10 +1432,8 @@ ffs_sync_lazy(mp) td = curthread; if ((mp->mnt_flag & MNT_NOATIME) != 0) goto qupdate; - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); - if (vp->v_iflag & VI_DOOMED || vp->v_type == VNON) { + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { + if (vp->v_type == VNON) { VI_UNLOCK(vp); continue; } @@ -1462,19 +1451,14 @@ ffs_sync_lazy(mp) VI_UNLOCK(vp); continue; } - MNT_IUNLOCK(mp); if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, - td)) != 0) { - MNT_ILOCK(mp); + td)) != 0) continue; - } error = ffs_update(vp, 0); if (error != 0) allerror = error; vput(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); qupdate: #ifdef QUOTA @@ -1538,41 +1522,37 @@ ffs_sync(mp, waitfor) lockreq = LK_EXCLUSIVE; } lockreq |= LK_INTERLOCK | LK_SLEEPFAIL; - MNT_ILOCK(mp); loop: /* Grab snapshot of secondary write counts */ + MNT_ILOCK(mp); secondary_writes = mp->mnt_secondary_writes; secondary_accwrites = mp->mnt_secondary_accwrites; + MNT_IUNLOCK(mp); /* Grab snapshot of softdep dependency counts */ - MNT_IUNLOCK(mp); softdep_get_depcounts(mp, &softdep_deps, &softdep_accdeps); - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, mvp) { + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { /* * Depend on the vnode interlock to keep things stable enough * for a quick test. Since there might be hundreds of * thousands of vnodes, we cannot afford even a subroutine * call unless there's a good chance that we have work to do. */ - VI_LOCK(vp); - if (vp->v_iflag & VI_DOOMED) { + if (vp->v_type == VNON) { VI_UNLOCK(vp); continue; } ip = VTOI(vp); - if (vp->v_type == VNON || ((ip->i_flag & + if ((ip->i_flag & (IN_ACCESS | IN_CHANGE | IN_MODIFIED | IN_UPDATE)) == 0 && - vp->v_bufobj.bo_dirty.bv_cnt == 0)) { + vp->v_bufobj.bo_dirty.bv_cnt == 0) { VI_UNLOCK(vp); continue; } - MNT_IUNLOCK(mp); if ((error = vget(vp, lockreq, td)) != 0) { - MNT_ILOCK(mp); if (error == ENOENT || error == ENOLCK) { - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } continue; @@ -1580,9 +1560,7 @@ loop: if ((error = ffs_syncvnode(vp, waitfor, 0)) != 0) allerror = error; vput(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); /* * Force stale filesystem control information to be flushed. */ @@ -1590,10 +1568,8 @@ loop: if ((error = softdep_flushworklist(ump->um_mountp, &count, td))) allerror = error; /* Flushed work items may create new vnodes to clean */ - if (allerror == 0 && count) { - MNT_ILOCK(mp); + if (allerror == 0 && count) goto loop; - } } #ifdef QUOTA qsync(mp); @@ -1608,18 +1584,18 @@ loop: if ((error = VOP_FSYNC(devvp, waitfor, td)) != 0) allerror = error; VOP_UNLOCK(devvp, 0); - if (allerror == 0 && waitfor == MNT_WAIT) { - MNT_ILOCK(mp); + if (allerror == 0 && waitfor == MNT_WAIT) goto loop; - } } else if (suspend != 0) { if (softdep_check_suspend(mp, devvp, softdep_deps, softdep_accdeps, secondary_writes, - secondary_accwrites) != 0) + secondary_accwrites) != 0) { + MNT_IUNLOCK(mp); goto loop; /* More work needed */ + } mtx_assert(MNT_MTX(mp), MA_OWNED); mp->mnt_kern_flag |= MNTK_SUSPEND2 | MNTK_SUSPENDED; MNT_IUNLOCK(mp); Index: /usr/src/sys/ufs/ffs/ffs_snapshot.c =================================================================== --- /usr/src/sys/ufs/ffs/ffs_snapshot.c (revision 234335) +++ /usr/src/sys/ufs/ffs/ffs_snapshot.c (working copy) @@ -522,17 +522,14 @@ restart: FSMAXSNAP + 1 /* superblock */ + 1 /* last block */ + 1 /* size */; MNT_ILOCK(mp); mp->mnt_kern_flag &= ~MNTK_SUSPENDED; + MNT_IUNLOCK(mp); loop: - MNT_VNODE_FOREACH(xvp, mp, mvp) { - VI_LOCK(xvp); - MNT_IUNLOCK(mp); - if ((xvp->v_iflag & VI_DOOMED) || - (xvp->v_usecount == 0 && + MNT_VNODE_FOREACH_ALL(xvp, mp, mvp) { + if ((xvp->v_usecount == 0 && (xvp->v_iflag & (VI_OWEINACT | VI_DOINGINACT)) == 0) || xvp->v_type == VNON || IS_SNAPSHOT(VTOI(xvp))) { VI_UNLOCK(xvp); - MNT_ILOCK(mp); continue; } /* @@ -541,13 +538,11 @@ loop: */ if (xvp == nd.ni_dvp) { VI_UNLOCK(xvp); - MNT_ILOCK(mp); continue; } vholdl(xvp); if (vn_lock(xvp, LK_EXCLUSIVE | LK_INTERLOCK) != 0) { - MNT_ILOCK(mp); - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); vdrop(xvp); goto loop; } @@ -557,7 +552,6 @@ loop: VI_UNLOCK(xvp); VOP_UNLOCK(xvp, 0); vdrop(xvp); - MNT_ILOCK(mp); continue; } VI_UNLOCK(xvp); @@ -567,14 +561,12 @@ loop: vat.va_nlink > 0) { VOP_UNLOCK(xvp, 0); vdrop(xvp); - MNT_ILOCK(mp); continue; } xp = VTOI(xvp); if (ffs_checkfreefile(copy_fs, vp, xp->i_number)) { VOP_UNLOCK(xvp, 0); vdrop(xvp); - MNT_ILOCK(mp); continue; } /* @@ -610,12 +602,10 @@ loop: free(copy_fs->fs_csp, M_UFSMNT); free(copy_fs, M_UFSMNT); copy_fs = NULL; - MNT_VNODE_FOREACH_ABORT(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto out1; } - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); /* * Erase the journal file from the snapshot. */ @@ -2532,31 +2522,26 @@ process_deferred_inactive(struct mount *mp) td = curthread; (void) vn_start_secondary_write(NULL, &mp, V_WAIT); - MNT_ILOCK(mp); loop: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { /* * IN_LAZYACCESS is checked here without holding any * vnode lock, but this flag is set only while holding * vnode interlock. */ - if (vp->v_type == VNON || (vp->v_iflag & VI_DOOMED) != 0 || + if (vp->v_type == VNON || ((VTOI(vp)->i_flag & IN_LAZYACCESS) == 0 && - ((vp->v_iflag & VI_OWEINACT) == 0 || - vp->v_usecount > 0))) { + ((vp->v_iflag & VI_OWEINACT) == 0 || vp->v_usecount > 0))) { VI_UNLOCK(vp); continue; } - MNT_IUNLOCK(mp); vholdl(vp); error = vn_lock(vp, LK_EXCLUSIVE | LK_INTERLOCK); if (error != 0) { vdrop(vp); - MNT_ILOCK(mp); if (error == ENOENT) continue; /* vnode recycled */ - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } ip = VTOI(vp); @@ -2569,7 +2554,6 @@ process_deferred_inactive(struct mount *mp) VI_UNLOCK(vp); VOP_UNLOCK(vp, 0); vdrop(vp); - MNT_ILOCK(mp); continue; } vinactive(vp, td); @@ -2578,9 +2562,7 @@ process_deferred_inactive(struct mount *mp) VI_UNLOCK(vp); VOP_UNLOCK(vp, 0); vdrop(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); vn_finished_secondary_write(mp); } Index: /usr/src/sys/kern/vfs_default.c =================================================================== --- /usr/src/sys/kern/vfs_default.c (revision 234335) +++ /usr/src/sys/kern/vfs_default.c (working copy) @@ -1114,18 +1114,15 @@ vfs_stdsync(mp, waitfor) /* * Force stale buffer cache information to be flushed. */ - MNT_ILOCK(mp); loop: - MNT_VNODE_FOREACH(vp, mp, mvp) { - /* bv_cnt is an acceptable race here. */ - if (vp->v_bufobj.bo_dirty.bv_cnt == 0) + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { + if (vp->v_bufobj.bo_dirty.bv_cnt == 0) { + VI_UNLOCK(vp); continue; - VI_LOCK(vp); - MNT_IUNLOCK(mp); + } if ((error = vget(vp, lockreq, td)) != 0) { - MNT_ILOCK(mp); if (error == ENOENT) { - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } continue; @@ -1134,9 +1131,7 @@ loop: if (error) allerror = error; vput(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); return (allerror); } Index: /usr/src/sys/kern/vfs_mount.c =================================================================== --- /usr/src/sys/kern/vfs_mount.c (revision 234335) +++ /usr/src/sys/kern/vfs_mount.c (working copy) @@ -81,7 +81,6 @@ SYSCTL_INT(_vfs, OID_AUTO, usermount, CTLFLAG_RW, "Unprivileged users may mount and unmount file systems"); MALLOC_DEFINE(M_MOUNT, "mount", "vfs mount structure"); -static MALLOC_DEFINE(M_VNODE_MARKER, "vnodemarker", "vnode marker"); static uma_zone_t mount_zone; /* List of mounted filesystems. */ @@ -1720,10 +1719,14 @@ vfs_copyopt(opts, name, dest, len) } /* - * This is a helper function for filesystems to traverse their - * vnodes. See MNT_VNODE_FOREACH() in sys/mount.h + * These are helper functions for filesystems to traverse all + * their vnodes. See MNT_VNODE_FOREACH() in sys/mount.h. + * + * This interface has been deprecated in favor of MNT_VNODE_FOREACH_ALL. */ +MALLOC_DECLARE(M_VNODE_MARKER); + struct vnode * __mnt_vnode_next(struct vnode **mvp, struct mount *mp) { @@ -1812,7 +1815,6 @@ __mnt_vnode_markerfree(struct vnode **mvp, struct MNT_REL(mp); } - int __vfs_statfs(struct mount *mp, struct statfs *sbp) { Index: /usr/src/sys/kern/vfs_subr.c =================================================================== --- /usr/src/sys/kern/vfs_subr.c (revision 234335) +++ /usr/src/sys/kern/vfs_subr.c (working copy) @@ -2467,17 +2467,13 @@ vflush(struct mount *mp, int rootrefs, int flags, } vput(rootvp); } - MNT_ILOCK(mp); loop: - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { vholdl(vp); - MNT_IUNLOCK(mp); error = vn_lock(vp, LK_INTERLOCK | LK_EXCLUSIVE); if (error) { vdrop(vp); - MNT_ILOCK(mp); - MNT_VNODE_FOREACH_ABORT_ILOCKED(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); goto loop; } /* @@ -2486,7 +2482,6 @@ loop: if ((flags & SKIPSYSTEM) && (vp->v_vflag & VV_SYSTEM)) { VOP_UNLOCK(vp, 0); vdrop(vp); - MNT_ILOCK(mp); continue; } /* @@ -2504,7 +2499,7 @@ loop: if (error != 0) { VOP_UNLOCK(vp, 0); vdrop(vp); - MNT_VNODE_FOREACH_ABORT(mp, mvp); + MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp); return (error); } error = VOP_GETATTR(vp, &vattr, td->td_ucred); @@ -2515,7 +2510,6 @@ loop: (vp->v_writecount == 0 || vp->v_type != VREG)) { VOP_UNLOCK(vp, 0); vdropl(vp); - MNT_ILOCK(mp); continue; } } else @@ -2540,9 +2534,7 @@ loop: } VOP_UNLOCK(vp, 0); vdropl(vp); - MNT_ILOCK(mp); } - MNT_IUNLOCK(mp); if (rootrefs > 0 && (flags & FORCECLOSE) == 0) { /* * If just the root vnode is busy, and if its refcount @@ -3279,19 +3271,15 @@ vfs_msync(struct mount *mp, int flags) struct vm_object *obj; CTR2(KTR_VFS, "%s: mp %p", __func__, mp); - MNT_ILOCK(mp); - MNT_VNODE_FOREACH(vp, mp, mvp) { - VI_LOCK(vp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { obj = vp->v_object; if (obj != NULL && (obj->flags & OBJ_MIGHTBEDIRTY) != 0 && (flags == MNT_WAIT || VOP_ISLOCKED(vp) == 0)) { - MNT_IUNLOCK(mp); if (!vget(vp, LK_EXCLUSIVE | LK_RETRY | LK_INTERLOCK, curthread)) { if (vp->v_vflag & VV_NOSYNC) { /* unlinked */ vput(vp); - MNT_ILOCK(mp); continue; } @@ -3305,11 +3293,9 @@ vfs_msync(struct mount *mp, int flags) } vput(vp); } - MNT_ILOCK(mp); } else VI_UNLOCK(vp); } - MNT_IUNLOCK(mp); } /* @@ -4504,3 +4490,90 @@ vfs_unixify_accmode(accmode_t *accmode) return (0); } + +/* + * These are helper functions for filesystems to traverse all + * their vnodes. See MNT_VNODE_FOREACH_ALL() in sys/mount.h. + * + * This interface replaces MNT_VNODE_FOREACH. + */ + +MALLOC_DEFINE(M_VNODE_MARKER, "vnodemarker", "vnode marker"); + +struct vnode * +__mnt_vnode_next_all(struct vnode **mvp, struct mount *mp) +{ + struct vnode *vp; + + if (should_yield()) + kern_yield(PRI_UNCHANGED); + MNT_ILOCK(mp); + KASSERT((*mvp)->v_mount == mp, ("marker vnode mount list mismatch")); + vp = TAILQ_NEXT(*mvp, v_nmntvnodes); + while (vp != NULL && (vp->v_type == VMARKER || + (vp->v_iflag & VI_DOOMED) != 0)) + vp = TAILQ_NEXT(vp, v_nmntvnodes); + + /* Check if we are done */ + if (vp == NULL) { + __mnt_vnode_markerfree_all(mvp, mp); + /* MNT_IUNLOCK(mp); -- done in above function */ + mtx_assert(MNT_MTX(mp), MA_NOTOWNED); + return (NULL); + } + TAILQ_REMOVE(&mp->mnt_nvnodelist, *mvp, v_nmntvnodes); + TAILQ_INSERT_AFTER(&mp->mnt_nvnodelist, vp, *mvp, v_nmntvnodes); + VI_LOCK(vp); + MNT_IUNLOCK(mp); + return (vp); +} + +struct vnode * +__mnt_vnode_first_all(struct vnode **mvp, struct mount *mp) +{ + struct vnode *vp; + + *mvp = malloc(sizeof(struct vnode), M_VNODE_MARKER, M_WAITOK | M_ZERO); + MNT_ILOCK(mp); + MNT_REF(mp); + (*mvp)->v_type = VMARKER; + + vp = TAILQ_FIRST(&mp->mnt_nvnodelist); + while (vp != NULL && (vp->v_type == VMARKER || + (vp->v_iflag & VI_DOOMED) != 0)) + vp = TAILQ_NEXT(vp, v_nmntvnodes); + + /* Check if we are done */ + if (vp == NULL) { + *mvp = NULL; + MNT_REL(mp); + MNT_IUNLOCK(mp); + free(*mvp, M_VNODE_MARKER); + return (NULL); + } + (*mvp)->v_mount = mp; + TAILQ_INSERT_AFTER(&mp->mnt_nvnodelist, vp, *mvp, v_nmntvnodes); + VI_LOCK(vp); + MNT_IUNLOCK(mp); + return (vp); +} + + +void +__mnt_vnode_markerfree_all(struct vnode **mvp, struct mount *mp) +{ + + if (*mvp == NULL) { + MNT_IUNLOCK(mp); + return; + } + + mtx_assert(MNT_MTX(mp), MA_OWNED); + + KASSERT((*mvp)->v_mount == mp, ("marker vnode mount list mismatch")); + TAILQ_REMOVE(&mp->mnt_nvnodelist, *mvp, v_nmntvnodes); + MNT_REL(mp); + MNT_IUNLOCK(mp); + free(*mvp, M_VNODE_MARKER); + *mvp = NULL; +} -- Test scenario: MEMGUARD: reboot after break to kgdb $ grep vm.memguard.desc /boot/loader.conf vm.memguard.desc=ufs_mount $