GENERIC HEAD from Apr 16 07:08:58 CEST 2012, r234335M, vmcore.335 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 #0 r234335M: Mon Apr 16 07:08:58 CEST 2012 pho@x4.osted.lan:/usr/src/sys/i386/compile/PHO i386 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. 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 = 3531657216 (3368 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: 5348 files, 339766 used, 673249 free (1641 frags, 83951 blocks, 0.2% fragmentation) /dev/ad4s1f: 20807 files, 892476 used, 120539 free (5075 frags, 14433 blocks, 0.5% fragmentation) /dev/label/tmp: 74994 files, 6554084 used, 111759897 free (2089 frags, 13969726 blocks, 0.0% fragmentation) /dev/ad4s1d: 703439 files, 6906848 used, 3247351 free (241375 frags, 375747 blocks, 2.4% fragmentation) /dev/ad4s1e: 484399 files, 10954400 used, 14434117 free (55037 frags, 1797385 blocks, 0.2% fragmentation) Mounting local file systems:Memory modified after free 0xca551000(4092) val=8 @ 0xca551800 panic: Most recently used by ufs_mount cpuid = 0 KDB: enter: panic [ thread pid 82 tid 100119 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> run pho db:0:pho> bt Tracing pid 82 tid 100119 td 0xca82c8a0 kdb_enter(c0f740b8,c0f740b8,c0fae201,f27b5818,0,...) at kdb_enter+0x3a panic(c0fae201,c0facd28,ffc,8,ca551800,...) at panic+0x18c mtrash_ctor(ca551000,1000,0,2,c0a31191,...) at mtrash_ctor+0x77 uma_zalloc_arg(c1baca80,0,2,2,800,...) at uma_zalloc_arg+0x137 malloc(83c,c10be790,2,0,0,...) at malloc+0x118 ffs_mount(ca765870,c10bddc0,c7ed6880,c7dafe00,c0fae9ff,...) at ffs_mount+0x273d vfs_donmount(ca82c8a0,0,0,ca76e580,ca76e580,...) at vfs_donmount+0xc0a sys_nmount(ca82c8a0,f27b5cec,c0fc61fc,c,207,...) at sys_nmount+0x7f syscall(f27b5d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (378, FreeBSD ELF32, sys_nmount), eip = 0x280fabbb, esp = 0xbfbfddcc, ebp = 0xbfbfe328 --- db:0:bt> show allpcpu Current CPU: 0 cpuid = 0 dynamic pcpu = 0x755380 curthread = 0xca82c8a0: pid 82 "mount" curpcb = 0xf27b5d80 fpcurthread = none idlethread = 0xc7dcd8a0: tid 100003 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x6a46380 curthread = 0xc7dcd5c0: pid 11 "idle: cpu1" curpcb = 0xc7b29d80 fpcurthread = none idlethread = 0xc7dcd5c0: tid 100004 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x6a49380 curthread = 0xc7dcd2e0: pid 11 "idle: cpu2" curpcb = 0xc7b2cd80 fpcurthread = none idlethread = 0xc7dcd2e0: tid 100005 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x6a4c380 curthread = 0xc7dcd000: pid 11 "idle: cpu3" curpcb = 0xc7b2fd80 fpcurthread = none idlethread = 0xc7dcd000: tid 100006 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 82 (mount) thread 0xca82c8a0 (100119) exclusive sleep mutex Giant (Giant) r = 0 (0xc110b790) locked @ kern/vfs_mount.c:1103 db:0:alllocks> show lockedvnods Locked vnodes db:0:lockedvnods> show mount 0xca765b40 /dev/ad4s1a on / (ufs) 0xca766000 devfs on /dev (devfs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 82 81 20 0 R+ CPU 0 mount 81 20 20 0 S+ wait 0xca8422cc sh 20 1 20 0 Ss+ wait 0xc8038b30 sh 19 0 0 0 DL sdflush 0xc1289f00 [softdepflush] 18 0 0 0 DL vlruwt 0xca6c12cc [vnlru] 17 0 0 0 DL syncer 0xc1283bf4 [syncer] 16 0 0 0 DL psleep 0xc1283888 [bufdaemon] 9 0 0 0 DL pgzero 0xc128bddc [pagezero] 8 0 0 0 DL psleep 0xc128b9c8 [vmdaemon] 7 0 0 0 DL psleep 0xc128b990 [pagedaemon] 6 0 0 0 DL ccb_scan 0xc10d09d4 [xpt_thrd] 5 0 0 0 DL waiting_ 0xc1285718 [sctp_iterator] 4 0 0 0 DL ctl_work 0xc818f000 [ctl_thrd] 3 0 0 0 DL - 0xc7ff523c [fdc0] 2 0 0 0 SL - 0xc8086000 [fw0_probe] 15 0 0 0 DL (threaded) [usb] 100058 D - 0xc805cd34 [usbus5] 100057 D - 0xc805cd04 [usbus5] 100056 D - 0xc805ccd4 [usbus5] 100055 D - 0xc805cca4 [usbus5] 100053 D - 0xc804db5c [usbus4] 100052 D - 0xc804db2c [usbus4] 100051 D - 0xc804dafc [usbus4] 100050 D - 0xc804dacc [usbus4] 100049 D - 0xc8048b5c [usbus3] 100048 D - 0xc8048b2c [usbus3] 100047 D - 0xc8048afc [usbus3] 100046 D - 0xc8048acc [usbus3] 100045 D - 0xc8041b5c [usbus2] 100044 D - 0xc8041b2c [usbus2] 100043 D - 0xc8041afc [usbus2] 100042 D - 0xc8041acc [usbus2] 100040 D - 0xc803ab5c [usbus1] 100039 D - 0xc803ab2c [usbus1] 100038 D - 0xc803aafc [usbus1] 100037 D - 0xc803aacc [usbus1] 100035 D - 0xc802fb5c [usbus0] 100034 D - 0xc802fb2c [usbus0] 100033 D - 0xc802fafc [usbus0] 100032 D - 0xc802facc [usbus0] 14 0 0 0 DL - 0xc110c824 [yarrow] 13 0 0 0 DL (threaded) [geom] 100015 D - 0xc1109a68 [g_down] 100014 D - 0xc1109a64 [g_up] 100013 D - 0xc1109a5c [g_event] 12 0 0 0 WL (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] 100027 I [swi6: task queue] 100026 I [swi6: Giant taskq] 100024 I [swi5: +] 100021 I [swi2: cambio] 100012 I [swi3: vm] 100011 I [swi1: netisr 0] 100010 I [swi4: clock] 100009 I [swi4: clock] 100008 I [swi4: clock] 100007 I [swi4: clock] 11 0 0 0 RL (threaded) [idle] 100006 Run CPU 3 [idle: cpu3] 100005 Run CPU 2 [idle: cpu2] 100004 Run CPU 1 [idle: cpu1] 100003 CanRun [idle: cpu0] 1 0 1 0 SLs wait 0xc7dcbb30 [init] 10 0 0 0 DL audit_wo 0xc1289640 [audit] 0 0 0 0 DLs (threaded) [kernel] 100069 D - 0xc110c824 [deadlkres] 100068 D - 0xc8187dc0 [mca taskq] 100061 D - 0xc8084540 [fw0_taskq] 100025 D - 0xc7f5e740 [thread taskq] 100023 D - 0xc7f5e7c0 [ffs_trim taskq] 100022 D - 0xc7f5e800 [kqueue taskq] 100020 D - 0xc7f5e840 [acpi_task_2] 100019 D - 0xc7f5e840 [acpi_task_1] 100018 D - 0xc7f5e840 [acpi_task_0] 100016 D - 0xc7d9fc00 [firmware taskq] 100000 D sched 0xc1109b80 [swapper] db:0:ps> allt Tracing command mount pid 82 tid 100119 td 0xca82c8a0 kdb_enter(c0f740b8,c0f740b8,c0fae201,f27b5818,0,...) at kdb_enter+0x3a panic(c0fae201,c0facd28,ffc,8,ca551800,...) at panic+0x18c mtrash_ctor(ca551000,1000,0,2,c0a31191,...) at mtrash_ctor+0x77 uma_zalloc_arg(c1baca80,0,2,2,800,...) at uma_zalloc_arg+0x137 malloc(83c,c10be790,2,0,0,...) at malloc+0x118 ffs_mount(ca765870,c10bddc0,c7ed6880,c7dafe00,c0fae9ff,...) at ffs_mount+0x273d vfs_donmount(ca82c8a0,0,0,ca76e580,ca76e580,...) at vfs_donmount+0xc0a sys_nmount(ca82c8a0,f27b5cec,c0fc61fc,c,207,...) at sys_nmount+0x7f syscall(f27b5d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (378, FreeBSD ELF32, sys_nmount), eip = 0x280fabbb, esp = 0xbfbfddcc, ebp = 0xbfbfe328 --- Tracing command sh pid 81 tid 100095 td 0xca8492e0 sched_switch(ca8492e0,0,104,1a3,372513c9,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(ca8492e0,0,c0f79b00,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f79b00,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(ca8422cc,6c,c0f7ca45,100,0,...) at sleepq_wait_sig+0x17 _sleep(ca8422cc,ca842354,16c,c0f7ca45,0,...) at _sleep+0x385 kern_wait(ca8492e0,ffffffff,f2746c5c,2,0,...) at kern_wait+0x597 sys_wait4(ca8492e0,f2746cec,c0fc61fc,c0f7ca24,216,...) at sys_wait4+0x3b syscall(f2746d28) 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 0xca6cd5c0 sched_switch(ca6cd5c0,0,104,1a3,364fc9df,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(ca6cd5c0,0,c0f79b00,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f79b00,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c8038b30,6c,c0f7ca45,100,0,...) at sleepq_wait_sig+0x17 _sleep(c8038b30,c8038bb8,16c,c0f7ca45,0,...) at _sleep+0x385 kern_wait(ca6cd5c0,ffffffff,f2700c5c,2,0,...) at kern_wait+0x597 sys_wait4(ca6cd5c0,f2700cec,c0fc61fc,c0f7ca24,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 0xca6cd8a0 sched_switch(ca6cd8a0,0,104,1a3,d9562d81,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,54,...) at mi_switch+0x1ff sleepq_switch(ca6cd8a0,0,c0f79b00,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1289f00,54,c0faa951,0,0,...) at sleepq_timedwait+0x6b _sleep(c1289f00,c1289ec0,54,c0faa951,3e8,...) at _sleep+0x36a softdep_flush(0,ee324d28,c0f6e390,3d8,ca6c1000,...) at softdep_flush+0x266 fork_exit(c0c84550,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 0xca6cdb80 sched_switch(ca6cdb80,0,104,1a3,d955f38f,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,60,...) at mi_switch+0x1ff sleepq_switch(ca6cdb80,0,c0f79b00,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(ca6c12cc,60,c0f84b8e,0,0,...) at sleepq_timedwait+0x6b _sleep(ca6c12cc,c1283bb4,260,c0f84b8e,3e8,...) at _sleep+0x36a vnlru_proc(0,ee321d28,c0f6e390,3d8,ca6c12cc,...) at vnlru_proc+0xe7 fork_exit(c0ae4be0,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 0xc80568a0 sched_switch(c80568a0,0,104,1a3,d9564a87,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80568a0,0,c0f79b00,28b,c80568a0,...) at sleepq_switch+0x162 sleepq_timedwait(c1283bf4,0,ee31ec78,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c1283bf4,c1283be0,3e8,78a,4e20,...) at _cv_timedwait+0x270 sched_sync(0,ee31ed28,c0f6e390,3d8,ca6c1598,...) at sched_sync+0x595 fork_exit(c0ae3f50,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 0xc8056b80 sched_switch(c8056b80,0,104,1a3,d9566265,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,54,...) at mi_switch+0x1ff sleepq_switch(c8056b80,0,c0f79b00,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1283888,54,c0f81a72,0,0,...) at sleepq_timedwait+0x6b _sleep(c1283888,c1283890,54,c0f81a72,3e8,...) at _sleep+0x36a buf_daemon(0,ee31bd28,c0f6e390,3d8,ca6c1864,...) at buf_daemon+0x175 fork_exit(c0ac7f50,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 0xc8180000 sched_switch(c8180000,0,104,1a3,4bec7456,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8180000,0,c0f79b00,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c128bddc,0,c0fb1a06,0,0,...) at sleepq_timedwait+0x6b _sleep(c128bddc,c128a880,0,c0fb1a06,493e0,...) at _sleep+0x36a vm_pagezero(0,ee318d28,c0f6e390,3d8,ca6c1b30,...) at vm_pagezero+0xdc fork_exit(c0ccaf30,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 0xc81802e0 sched_switch(c81802e0,0,104,1a3,4be2369e,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,74,...) at mi_switch+0x1ff sleepq_switch(c81802e0,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c128b9c8,74,c0f81a72,0,0,...) at sleepq_wait+0x63 _sleep(c128b9c8,c128b9cc,74,c0f81a72,0,...) at _sleep+0x39c vm_daemon(0,ee315d28,c0f6e390,3d8,ca6c2000,...) at vm_daemon+0x59 fork_exit(c0cc4850,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 0xc81805c0 sched_switch(c81805c0,0,104,1a3,9779a8a2,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,54,...) at mi_switch+0x1ff sleepq_switch(c81805c0,0,c0f79b00,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c128b990,54,c0f81a72,0,0,...) at sleepq_timedwait+0x6b _sleep(c128b990,c128a880,54,c0f81a72,1388,...) at _sleep+0x36a vm_pageout(0,ee312d28,c0f6e390,3d8,c7dcc2cc,...) at vm_pageout+0x2c7 fork_exit(c0cc58d0,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 0xc81808a0 sched_switch(c81808a0,0,104,1a3,c1724dde,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(c81808a0,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10d09d4,5c,c0dd57c7,0,0,...) at sleepq_wait+0x63 _sleep(c10d09d4,c10d0a18,5c,c0dd57c7,0,...) at _sleep+0x39c xpt_scanner_thread(0,ee18fd28,c0f6e390,3d8,c7dcc598,...) at xpt_scanner_thread+0x47 fork_exit(c049e3f0,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 0xc8180b80 sched_switch(c8180b80,0,104,1a3,af2731cd,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8180b80,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1285718,0,c0f9877f,0,0,...) at sleepq_wait+0x63 _sleep(c1285718,c12856e0,0,c0f9877f,0,...) at _sleep+0x39c sctp_iterator_thread(0,ee18cd28,c0f6e390,3d8,c7dcc864,...) at sctp_iterator_thread+0x5c fork_exit(c0b76e10,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 0xc81815c0 sched_switch(c81815c0,0,104,1a3,af2696f6,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(c81815c0,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c818f000,5c,c0de0210,0,0,...) at sleepq_wait+0x63 _sleep(c818f000,c818f000,5c,c0de0210,0,...) at _sleep+0x39c ctl_work_thread(c818f000,ee183d28,c0f6e390,3d8,c7dccb30,...) at ctl_work_thread+0x22f6 fork_exit(c04c7990,c818f000,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 0xc8182000 sched_switch(c8182000,0,104,1a3,e9bfc047,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(c8182000,0,c0f79b00,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c7ff523c,5c,c0f666b2,0,0,...) at sleepq_timedwait+0x6b _sleep(c7ff523c,c7ff52f0,5c,c0f666b2,3e8,...) at _sleep+0x36a fdc_thread(c7ff5200,ee17ad28,c0f6e390,3d8,c8038000,...) at fdc_thread+0x27d fork_exit(c0d4d1f0,c7ff5200,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 0xc80475c0 sched_switch(c80475c0,0,104,1a3,c1728992,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(c80475c0,0,c0f79b00,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f79b00,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c8086000,6c,c0f666b2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c8086000,c808a488,16c,c0f666b2,0,...) at _sleep+0x385 fw_bus_probe_thread(c8086000,ee16ad28,c0f6e390,3d8,c80382cc,...) at fw_bus_probe_thread+0xa08 fork_exit(c06f7b80,c8086000,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 0xc80542e0 sched_switch(c80542e0,0,104,1a3,af2138b9,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80542e0,0,c0f79b00,268,c80542e0,...) at sleepq_switch+0x162 sleepq_wait(c805cd34,0,ee153cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c805cd34,c805ce4c,c0f57d31,74,c805cd3c,...) at _cv_wait+0x260 usb_process(c805cd2c,ee153d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c805cd2c,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 0xc80545c0 sched_switch(c80545c0,0,104,1a3,f842c5b,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80545c0,0,c0f79b00,268,c80545c0,...) at sleepq_switch+0x162 sleepq_wait(c805cd04,0,ee150cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c805cd04,c805ce4c,c0f57d31,74,c805cd0c,...) at _cv_wait+0x260 usb_process(c805ccfc,ee150d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c805ccfc,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 0xc80548a0 sched_switch(c80548a0,0,104,1a3,aeba65bf,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80548a0,0,c0f79b00,268,c80548a0,...) at sleepq_switch+0x162 sleepq_wait(c805ccd4,0,ee14dcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c805ccd4,c805ce4c,c0f57d31,74,c805ccdc,...) at _cv_wait+0x260 usb_process(c805cccc,ee14dd28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c805cccc,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 0xc8054b80 sched_switch(c8054b80,0,104,1a3,aeba5587,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8054b80,0,c0f79b00,268,c8054b80,...) at sleepq_switch+0x162 sleepq_wait(c805cca4,0,ee14acac,1,0,...) at sleepq_wait+0x63 _cv_wait(c805cca4,c805ce4c,c0f57d31,74,c805ccac,...) at _cv_wait+0x260 usb_process(c805cc9c,ee14ad28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c805cc9c,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 0xc80562e0 sched_switch(c80562e0,0,104,1a3,aeba4167,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80562e0,0,c0f79b00,268,c80562e0,...) at sleepq_switch+0x162 sleepq_wait(c804db5c,0,ee141cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c804db5c,c804dc74,c0f57d31,74,c804db64,...) at _cv_wait+0x260 usb_process(c804db54,ee141d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c804db54,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 0xc80565c0 sched_switch(c80565c0,0,104,1a3,6ef3979,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80565c0,0,c0f79b00,268,c80565c0,...) at sleepq_switch+0x162 sleepq_wait(c804db2c,0,ee13ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(c804db2c,c804dc74,c0f57d31,74,c804db34,...) at _cv_wait+0x260 usb_process(c804db24,ee13ed28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c804db24,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 0xc8045000 sched_switch(c8045000,0,104,1a3,ae564e1e,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8045000,0,c0f79b00,268,c8045000,...) at sleepq_switch+0x162 sleepq_wait(c804dafc,0,ee13bcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c804dafc,c804dc74,c0f57d31,74,c804db04,...) at _cv_wait+0x260 usb_process(c804daf4,ee13bd28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c804daf4,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 0xc80452e0 sched_switch(c80452e0,0,104,1a3,ae563c40,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80452e0,0,c0f79b00,268,c80452e0,...) at sleepq_switch+0x162 sleepq_wait(c804dacc,0,ee138cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c804dacc,c804dc74,c0f57d31,74,c804dad4,...) at _cv_wait+0x260 usb_process(c804dac4,ee138d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c804dac4,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 0xc80455c0 sched_switch(c80455c0,0,104,1a3,ae562815,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80455c0,0,c0f79b00,268,c80455c0,...) at sleepq_switch+0x162 sleepq_wait(c8048b5c,0,ee134cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8048b5c,c8048c74,c0f57d31,74,c8048b64,...) at _cv_wait+0x260 usb_process(c8048b54,ee134d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8048b54,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 0xc80458a0 sched_switch(c80458a0,0,104,1a3,3d2417f,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80458a0,0,c0f79b00,268,c80458a0,...) at sleepq_switch+0x162 sleepq_wait(c8048b2c,0,ee131cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8048b2c,c8048c74,c0f57d31,74,c8048b34,...) at _cv_wait+0x260 usb_process(c8048b24,ee131d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8048b24,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 0xc8045b80 sched_switch(c8045b80,0,104,1a3,a8957cda,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8045b80,0,c0f79b00,268,c8045b80,...) at sleepq_switch+0x162 sleepq_wait(c8048afc,0,ee12ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8048afc,c8048c74,c0f57d31,74,c8048b04,...) at _cv_wait+0x260 usb_process(c8048af4,ee12ed28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8048af4,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 0xc8046000 sched_switch(c8046000,0,104,1a3,a8956a5f,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8046000,0,c0f79b00,268,c8046000,...) at sleepq_switch+0x162 sleepq_wait(c8048acc,0,ee12bcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8048acc,c8048c74,c0f57d31,74,c8048ad4,...) at _cv_wait+0x260 usb_process(c8048ac4,ee12bd28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8048ac4,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 0xc80462e0 sched_switch(c80462e0,0,104,1a3,a89555c4,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80462e0,0,c0f79b00,268,c80462e0,...) at sleepq_switch+0x162 sleepq_wait(c8041b5c,0,ee127cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8041b5c,c8041c74,c0f57d31,74,c8041b64,...) at _cv_wait+0x260 usb_process(c8041b54,ee127d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8041b54,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 0xc80465c0 sched_switch(c80465c0,0,104,1a3,2a424fd,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80465c0,0,c0f79b00,268,c80465c0,...) at sleepq_switch+0x162 sleepq_wait(c8041b2c,0,ee124cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8041b2c,c8041c74,c0f57d31,74,c8041b34,...) at _cv_wait+0x260 usb_process(c8041b24,ee124d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8041b24,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 0xc80468a0 sched_switch(c80468a0,0,104,1a3,a831c670,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80468a0,0,c0f79b00,268,c80468a0,...) at sleepq_switch+0x162 sleepq_wait(c8041afc,0,ee121cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8041afc,c8041c74,c0f57d31,74,c8041b04,...) at _cv_wait+0x260 usb_process(c8041af4,ee121d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8041af4,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 0xc8046b80 sched_switch(c8046b80,0,104,1a3,a831b2ea,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8046b80,0,c0f79b00,268,c8046b80,...) at sleepq_switch+0x162 sleepq_wait(c8041acc,0,ee11ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(c8041acc,c8041c74,c0f57d31,74,c8041ad4,...) at _cv_wait+0x260 usb_process(c8041ac4,ee11ed28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c8041ac4,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 0xc8035000 sched_switch(c8035000,0,104,1a3,a8319ee6,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8035000,0,c0f79b00,268,c8035000,...) at sleepq_switch+0x162 sleepq_wait(c803ab5c,0,ee117cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c803ab5c,c803ac74,c0f57d31,74,c803ab64,...) at _cv_wait+0x260 usb_process(c803ab54,ee117d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c803ab54,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 0xc80352e0 sched_switch(c80352e0,0,104,1a3,1761a85,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80352e0,0,c0f79b00,268,c80352e0,...) at sleepq_switch+0x162 sleepq_wait(c803ab2c,0,ee114cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c803ab2c,c803ac74,c0f57d31,74,c803ab34,...) at _cv_wait+0x260 usb_process(c803ab24,ee114d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c803ab24,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 0xc80355c0 sched_switch(c80355c0,0,104,1a3,a7cd60d0,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80355c0,0,c0f79b00,268,c80355c0,...) at sleepq_switch+0x162 sleepq_wait(c803aafc,0,ee111cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c803aafc,c803ac74,c0f57d31,74,c803ab04,...) at _cv_wait+0x260 usb_process(c803aaf4,ee111d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c803aaf4,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 0xc80358a0 sched_switch(c80358a0,0,104,1a3,a7cd4f79,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80358a0,0,c0f79b00,268,c80358a0,...) at sleepq_switch+0x162 sleepq_wait(c803aacc,0,ee10ecac,1,0,...) at sleepq_wait+0x63 _cv_wait(c803aacc,c803ac74,c0f57d31,74,c803aad4,...) at _cv_wait+0x260 usb_process(c803aac4,ee10ed28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c803aac4,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 0xc8037000 sched_switch(c8037000,0,104,1a3,a7cd3a99,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8037000,0,c0f79b00,268,c8037000,...) at sleepq_switch+0x162 sleepq_wait(c802fb5c,0,ee107cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c802fb5c,c802fc74,c0f57d31,74,c802fb64,...) at _cv_wait+0x260 usb_process(c802fb54,ee107d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c802fb54,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 0xc80372e0 sched_switch(c80372e0,0,104,1a3,ff87d0e4,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80372e0,0,c0f79b00,268,c80372e0,...) at sleepq_switch+0x162 sleepq_wait(c802fb2c,0,ee104cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c802fb2c,c802fc74,c0f57d31,74,c802fb34,...) at _cv_wait+0x260 usb_process(c802fb24,ee104d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c802fb24,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 0xc80375c0 sched_switch(c80375c0,0,104,1a3,a768c450,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80375c0,0,c0f79b00,268,c80375c0,...) at sleepq_switch+0x162 sleepq_wait(c802fafc,0,ee101cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c802fafc,c802fc74,c0f57d31,74,c802fb04,...) at _cv_wait+0x260 usb_process(c802faf4,ee101d28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c802faf4,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 0xc80378a0 sched_switch(c80378a0,0,104,1a3,a768af24,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80378a0,0,c0f79b00,268,c80378a0,...) at sleepq_switch+0x162 sleepq_wait(c802facc,0,ee0fecac,1,0,...) at sleepq_wait+0x63 _cv_wait(c802facc,c802fc74,c0f57d31,74,c802fad4,...) at _cv_wait+0x260 usb_process(c802fac4,ee0fed28,c0f6e390,3d8,c8038598,...) at usb_process+0x1a3 fork_exit(c091d880,c802fac4,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 0xc7edd5c0 sched_switch(c7edd5c0,0,104,1a3,31d9532c,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7edd5c0,0,c0f79b00,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c110c824,0,c0f666b2,2,0,...) at sleepq_timedwait+0x6b _sleep(c110c824,0,0,c0f666b2,64) at _sleep+0x36a pause(c0f666b2,64,c0f33db0,111,0,...) at pause+0xa0 random_kthread(0,c7b52d28,c0f6e390,3d8,c7dcb000,...) at random_kthread+0x1ef fork_exit(c081b540,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 0xc7eddb80 sched_switch(c7eddb80,0,104,1a3,375714b1,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(c7eddb80,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1109a68,5c,c0f666b2,0,0,...) at sleepq_wait+0x63 _sleep(c1109a68,c11099c8,25c,c0f666b2,0,...) at _sleep+0x39c g_io_schedule_down(c7eddb80,0,c0f68201,6c,c7b4bd14,...) at g_io_schedule_down+0x5b g_down_procbody(0,c7b4bd28,c0f6e390,3d8,c7dcb2cc,...) at g_down_procbody+0x9d fork_exit(c09d4410,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 0xc7edf000 sched_switch(c7edf000,0,104,1a3,38a64be1,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(c7edf000,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1109a64,5c,c0f666b2,0,0,...) at sleepq_wait+0x63 _sleep(c1109a64,c11099e8,25c,c0f666b2,0,...) at _sleep+0x39c g_io_schedule_up(c7edf000,0,c0f68201,5f,c7b48d14,...) at g_io_schedule_up+0x134 g_up_procbody(0,c7b48d28,c0f6e390,3d8,c7dcb2cc,...) at g_up_procbody+0x9d fork_exit(c09d44b0,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 0xc7dce2e0 sched_switch(c7dce2e0,0,104,1a3,37573b06,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,5c,...) at mi_switch+0x1ff sleepq_switch(c7dce2e0,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1109a5c,5c,c0f666b2,0,0,...) at sleepq_wait+0x63 _sleep(c1109a5c,c110998c,25c,c0f666b2,0,...) at _sleep+0x39c g_run_events(c111a680,0,c0f68201,79,c7b45d14,...) at g_run_events+0x54b g_event_procbody(0,c7b45d28,c0f6e390,3d8,c7dcb2cc,...) at g_event_procbody+0x90 fork_exit(c09d4550,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 0xc81818a0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100065 td 0xc8181b80 sched_switch(c8181b80,0,109,1a3,a76429c6,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c8181b80,...) at mi_switch+0x1ff ithread_loop(c7e14380,ee17dd28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e14380,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 0xc80472e0 sched_switch(c80472e0,0,109,1a3,375d9d73,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c80472e0,...) at mi_switch+0x1ff ithread_loop(c7e14390,ee16dd28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e14390,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 0xc8047b80 sched_switch(c8047b80,0,109,1a3,2b9f9e67,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c8047b80,...) at mi_switch+0x1ff ithread_loop(c7e143f0,ee161d28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e143f0,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 0xc8054000 sched_switch(c8054000,0,109,1a3,53f3c49b,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c8054000,...) at mi_switch+0x1ff ithread_loop(c7e14430,ee159d28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e14430,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 0xc8056000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100041 td 0xc8047000 sched_switch(c8047000,0,109,1a3,cc68dc92,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c8047000,...) at mi_switch+0x1ff ithread_loop(c7e144d0,ee11bd28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e144d0,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 0xc8035b80 sched_switch(c8035b80,0,109,1a3,c6f04748,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c8035b80,...) at mi_switch+0x1ff ithread_loop(c7e14500,ee10bd28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e14500,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 0xc8037b80 sched_switch(c8037b80,0,109,1a3,9636ae8,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c8037b80,...) at mi_switch+0x1ff ithread_loop(c7e14530,ee0fbd28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e14530,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 0xc7edf2e0 sched_switch(c7edf2e0,0,109,1a3,38a46c65,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c7edf2e0,...) at mi_switch+0x1ff ithread_loop(c7e14600,edfa5d28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e14600,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 0xc7edf5c0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100028 td 0xc7edf8a0 sched_switch(c7edf8a0,0,109,1a3,9999bb1b,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c7edf8a0,...) at mi_switch+0x1ff ithread_loop(c7e14660,c7ba1d28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e14660,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 100027 td 0xc7edfb80 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100026 td 0xc7fc0000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100024 td 0xc7fc05c0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100021 td 0xc7e158a0 sched_switch(c7e158a0,0,109,1a3,38a55ee5,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c7e158a0,...) at mi_switch+0x1ff ithread_loop(c7e146b0,c7b5ed28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e146b0,c7b5ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b5ed60, ebp = 0 --- Tracing command intr pid 12 tid 100012 td 0xc7dce5c0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100011 td 0xc7dce8a0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100010 td 0xc7dceb80 sched_switch(c7dceb80,0,109,1a3,1c6337ea,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c7dceb80,...) at mi_switch+0x1ff ithread_loop(c7e147c0,c7b3cd28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e147c0,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 0xc7e15000 sched_switch(c7e15000,0,109,1a3,271df5da,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c7e15000,...) at mi_switch+0x1ff ithread_loop(c7e147d0,c7b39d28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e147d0,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 0xc7e152e0 sched_switch(c7e152e0,0,109,1a3,31d88d32,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c7e152e0,...) at mi_switch+0x1ff ithread_loop(c7e147e0,c7b36d28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e147e0,c7b36d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b36d60, ebp = 0 --- Tracing command intr pid 12 tid 100007 td 0xc7e155c0 sched_switch(c7e155c0,0,109,1a3,37befbef,...) at sched_switch+0x3fc mi_switch(109,0,c0f6e6b3,557,c7e155c0,...) at mi_switch+0x1ff ithread_loop(c7e147f0,c7b33d28,c0f6e390,3d8,c7dcb598,...) at ithread_loop+0x1fb fork_exit(c0a17630,c7e147f0,c7b33d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b33d60, ebp = 0 --- Tracing command idle pid 11 tid 100006 td 0xc7dcd000 cpustop_handler(3,c7b2fbfc,c0dabe16,c7b2fba0,c0dc64ee,...) at cpustop_handler+0x26 ipi_nmi_handler(c7b2fba0,c0dc64ee,c110db50,c7dcd000,c7dcb864,...) at ipi_nmi_handler+0x35 trap(c7b2fc08) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d91635, esp = 0xc7b2fc48, ebp = 0xc7b2fc48 --- acpi_cpu_c1(c7b2fc64,c10d0fb0,3,317,ea,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c7b2fc98,c0d9e849,0,3,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,3,0,2,c7b2fce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c7b2fcc0,c0f76182,a1f,c7dcd000,...) at cpu_idle+0x89 sched_idletd(0,c7b2fd28,c0f6e390,3d8,c7dcb864,...) at sched_idletd+0x235 fork_exit(c0a696f0,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 0xc7dcd2e0 cpustop_handler(2,c7b2cbfc,c0dabe16,c7b2cba0,c0dc64ee,...) at cpustop_handler+0x26 ipi_nmi_handler(c7b2cba0,c0dc64ee,c110db00,c7dcd2e0,c7dcb864,...) at ipi_nmi_handler+0x35 trap(c7b2cc08) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d91635, esp = 0xc7b2cc48, ebp = 0xc7b2cc48 --- acpi_cpu_c1(c7b2cc64,c10d0fb0,2,317,ea,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c7b2cc98,c0d9e849,0,2,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,2,0,2,c7b2cce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c7b2ccc0,c0f76182,a1f,c7dcd2e0,...) at cpu_idle+0x89 sched_idletd(0,c7b2cd28,c0f6e390,3d8,c7dcb864,...) at sched_idletd+0x235 fork_exit(c0a696f0,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 0xc7dcd5c0 cpustop_handler(1,c7b29bfc,c0dabe16,c7b29ba0,c0dc64ee,...) at cpustop_handler+0x26 ipi_nmi_handler(c7b29ba0,c0dc64ee,c110dab0,c7dcd5c0,c7dcb864,...) at ipi_nmi_handler+0x35 trap(c7b29c08) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d91635, esp = 0xc7b29c48, ebp = 0xc7b29c48 --- acpi_cpu_c1(c7b29c64,c10d0fb0,1,317,ea,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c7b29c98,c0d9e849,0,1,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,1,0,2,c7b29ce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c7b29cc0,c0f76182,a1f,c7dcd5c0,...) at cpu_idle+0x89 sched_idletd(0,c7b29d28,c0f6e390,3d8,c7dcb864,...) at sched_idletd+0x235 fork_exit(c0a696f0,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 0xc7dcd8a0 sched_switch(c7dcd8a0,0,608,19e,38a6b96d,...) at sched_switch+0x3fc mi_switch(608,0,c0f748ff,cd,0,...) at mi_switch+0x1ff critical_exit(0,0,0,2,c7b26ce8,...) at critical_exit+0xb5 cpu_idle(0,c7b26cc0,c0f76182,a1f,c7dcd8a0,...) at cpu_idle+0x97 sched_idletd(0,c7b26d28,c0f6e390,3d8,c7dcb864,...) at sched_idletd+0x235 fork_exit(c0a696f0,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 0xc7dcdb80 sched_switch(c7dcdb80,0,104,1a3,8d09dce5,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,6c,...) at mi_switch+0x1ff sleepq_switch(c7dcdb80,0,c0f79b00,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f79b00,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7dcbb30,6c,c0f7ca45,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7dcbb30,c7dcbbb8,16c,c0f7ca45,0,...) at _sleep+0x385 kern_wait(c7dcdb80,ffffffff,c7b22c5c,2,0,...) at kern_wait+0x597 sys_wait4(c7dcdb80,c7b22cec,c0fc61fc,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 0xc7dce000 sched_switch(c7dce000,0,104,1a3,a766ce8f,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7dce000,0,c0f79b00,268,c7dce000,...) at sleepq_switch+0x162 sleepq_wait(c1289640,0,c7b1fc8c,1,0,...) at sleepq_wait+0x63 _cv_wait(c1289640,c1289624,c0fa53b7,194,0,...) at _cv_wait+0x260 audit_worker(0,c7b1fd28,c0f6e390,3d8,c7dcc000,...) at audit_worker+0x84 fork_exit(c0c45050,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 0xc8181000 sched_switch(c8181000,0,104,1a3,7e77ea82,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c8181000,0,c0f79b00,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c110c824,0,c0f666b2,2,0,...) at sleepq_timedwait+0x6b _sleep(c110c824,0,0,c0f666b2,bb8) at _sleep+0x36a pause(c0f666b2,bb8,126,124,c1109c08,...) at pause+0xa0 deadlkres(0,ee189d28,c0f6e390,3d8,c1109b80,...) at deadlkres+0x324 fork_exit(c09f68a0,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 0xc81812e0 sched_switch(c81812e0,0,104,1a3,a766b38b,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c81812e0,0,c0f79b00,268,c81812e0,...) at sleepq_switch+0x162 sleepq_wait(c8187dc0,0,c0f74e21,c0f666b2,0,...) at sleepq_wait+0x63 msleep_spin(c8187dc0,c8187dd8,c0f666b2,0,c0f7235b,...) at msleep_spin+0x259 taskqueue_thread_loop(c12ead00,ee186d28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86790,c12ead00,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 0xc80478a0 sched_switch(c80478a0,0,104,1a3,3306e199,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c80478a0,0,c0f79b00,268,c80478a0,...) at sleepq_switch+0x162 sleepq_wait(c8084540,0,c0f74e21,c0f666b2,0,...) at sleepq_wait+0x63 msleep_spin(c8084540,c8084558,c0f666b2,0,c0f7235b,...) at msleep_spin+0x259 taskqueue_thread_loop(c808a49c,ee167d28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86790,c808a49c,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 100025 td 0xc7fc02e0 sched_switch(c7fc02e0,0,104,1a3,4bec4691,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7fc02e0,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7f5e740,0,c0f666b2,0,0,...) at sleepq_wait+0x63 _sleep(c7f5e740,c7f5e758,0,c0f666b2,0,...) at _sleep+0x39c taskqueue_thread_loop(c11293ec,c7b6ad28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86790,c11293ec,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 100023 td 0xc7fc08a0 sched_switch(c7fc08a0,0,104,1a3,c176a916,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7fc08a0,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7f5e7c0,0,c0f666b2,0,0,...) at sleepq_wait+0x63 _sleep(c7f5e7c0,c7f5e7d8,0,c0f666b2,0,...) at _sleep+0x39c taskqueue_thread_loop(c1289c24,c7b64d28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86790,c1289c24,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 100022 td 0xc7fc0b80 sched_switch(c7fc0b80,0,104,1a3,c17696b7,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7fc0b80,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7f5e800,0,c0f666b2,0,0,...) at sleepq_wait+0x63 _sleep(c7f5e800,c7f5e818,0,c0f666b2,0,...) at _sleep+0x39c taskqueue_thread_loop(c110a518,c7b61d28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86790,c110a518,c7b61d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b61d60, ebp = 0 --- Tracing command kernel pid 0 tid 100020 td 0xc7e15b80 sched_switch(c7e15b80,0,104,1a3,c176836d,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7e15b80,0,c0f79b00,268,c7e15b80,...) at sleepq_switch+0x162 sleepq_wait(c7f5e840,0,c0f74e21,c0f666b2,0,...) at sleepq_wait+0x63 msleep_spin(c7f5e840,c7f5e858,c0f666b2,0,c0f7235b,...) at msleep_spin+0x259 taskqueue_thread_loop(c10d3c38,c7b5bd28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86790,c10d3c38,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 100019 td 0xc7edd000 sched_switch(c7edd000,0,104,1a3,c176740d,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7edd000,0,c0f79b00,268,c7edd000,...) at sleepq_switch+0x162 sleepq_wait(c7f5e840,0,c0f74e21,c0f666b2,0,...) at sleepq_wait+0x63 msleep_spin(c7f5e840,c7f5e858,c0f666b2,0,c0f7235b,...) at msleep_spin+0x259 taskqueue_thread_loop(c10d3c38,c7b58d28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86790,c10d3c38,c7b58d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b58d60, ebp = 0 --- Tracing command kernel pid 0 tid 100018 td 0xc7edd2e0 sched_switch(c7edd2e0,0,104,1a3,c17663e3,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7edd2e0,0,c0f79b00,268,c7edd2e0,...) at sleepq_switch+0x162 sleepq_wait(c7f5e840,0,c0f74e21,c0f666b2,0,...) at sleepq_wait+0x63 msleep_spin(c7f5e840,c7f5e858,c0f666b2,0,c0f7235b,...) at msleep_spin+0x259 taskqueue_thread_loop(c10d3c38,c7b55d28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a86790,c10d3c38,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 0xc7edd8a0 sched_switch(c7edd8a0,0,104,1a3,860ae087,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,0,...) at mi_switch+0x1ff sleepq_switch(c7edd8a0,0,c0f79b00,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7d9fc00,0,c0f666b2,0,0,...) at sleepq_wait+0x63 _sleep(c7d9fc00,c7d9fc18,0,c0f666b2,0,...) at _sleep+0x39c taskqueue_thread_loop(c1127e00,c7b4ed28,c0f6e390,3d8,c1109b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a86790,c1127e00,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 0xc1109e50 sched_switch(c1109e50,0,104,1a3,816672da,...) at sched_switch+0x3fc mi_switch(104,0,c0f79b00,1f3,54,...) at mi_switch+0x1ff sleepq_switch(c1109e50,0,c0f79b00,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1109b80,54,c0f76a55,0,0,...) at sleepq_timedwait+0x6b _sleep(c1109b80,0,54,c0f76a55,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 142 MB: 127 111 95 79 63 47 31 15 Dump complete = 0 db:0:doadump> reset (kgdb) bt #0 doadump (textdump=0x0) at pcpu.h:244 #1 0xc05121b9 in db_fncall (dummy1=0xc0a77e9a, dummy2=0x0, dummy3=0xffffffff, dummy4=0xf27b54b0 "T{") at ../../../ddb/db_command.c:573 #2 0xc05125ef in db_command (last_cmdp=0xc10d1dfc, cmd_table=0x0, dopager=0x0) at ../../../ddb/db_command.c:449 #3 0xc05126a4 in db_command_script (command=0xc10d2d08 "call doadump") at ../../../ddb/db_command.c:520 #4 0xc0516ae0 in db_script_exec (scriptname=0xc10d2660 "doadump", warnifnotfound=Variable "warnifnotfound" is not available. ) at ../../../ddb/db_script.c:302 #5 0xc0516b71 in db_run_cmd (addr=0x1, have_addr=0x0, count=0xc12ab340, modif=0xf27b55e8 "") at ../../../ddb/db_script.c:375 #6 0xc05125b1 in db_command (last_cmdp=0xc10d1dfc, cmd_table=0x0, dopager=0x1) at ../../../ddb/db_command.c:449 #7 0xc051270a in db_command_loop () at ../../../ddb/db_command.c:502 #8 0xc05146fd in db_trap (type=0x3, code=0x0) at ../../../ddb/db_main.c:231 #9 0xc0a783b6 in kdb_trap (type=0x3, code=0x0, tf=0xf27b5798) at ../../../kern/subr_kdb.c:654 #10 0xc0dac41b in trap (frame=0xf27b5798) at ../../../i386/i386/trap.c:710 #11 0xc0d95cdc in calltrap () at ../../../i386/i386/exception.s:169 #12 0xc0a77e9a in kdb_enter (why=0xc0f740b8 "panic", msg=0xc0f740b8 "panic") at cpufunc.h:71 #13 0xc0a4256c in panic (fmt=0xc0fae201 "Most recently used by %s\n") at ../../../kern/kern_shutdown.c:633 #14 0xc0cacfe7 in mtrash_ctor (mem=0xca551000, size=0x1000, arg=0x0, flags=0x2) at ../../../vm/uma_dbg.c:137 #15 0xc0cac2f7 in uma_zalloc_arg (zone=0xc1baca80, udata=0x0, flags=0x2) at ../../../vm/uma_core.c:2048 #16 0xc0a2dd38 in malloc (size=0x83c, mtp=0xc10be790, flags=0x2) at uma.h:309 #17 0xc0c8c30d in ffs_mount (mp=0xca765870) at ../../../ufs/ffs/ffs_vfsops.c:915 #18 0xc0ad852a in vfs_donmount (td=0xca82c8a0, fsflags=0x0, fsoptions=0xca76e580) at ../../../kern/vfs_mount.c:817 #19 0xc0ad93df in sys_nmount (td=0xca82c8a0, uap=0xf27b5cec) at ../../../kern/vfs_mount.c:419 #20 0xc0dab957 in syscall (frame=0xf27b5d28) at subr_syscall.c:135 #21 0xc0d95d41 in Xint0x80_syscall () at ../../../i386/i386/exception.s:267 #22 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) f 17 #17 0xc0c8c30d in ffs_mount (mp=0xca765870) at ../../../ufs/ffs/ffs_vfsops.c:915 915 space = malloc((u_long)size, M_UFSMNT, M_WAITOK); (kgdb) l 910 size = fs->fs_cssize; 911 blks = howmany(size, fs->fs_fsize); 912 if (fs->fs_contigsumsize > 0) 913 size += fs->fs_ncg * sizeof(int32_t); 914 size += fs->fs_ncg * sizeof(u_int8_t); 915 space = malloc((u_long)size, M_UFSMNT, M_WAITOK); 916 fs->fs_csp = space; 917 for (i = 0; i < blks; i += fs->fs_frag) { 918 size = fs->fs_bsize; 919 if (i + fs->fs_frag > blks) (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,20 @@ 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)) { - VI_UNLOCK(vp); - continue; - } - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { 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 +854,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,18 @@ 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)) { - VI_UNLOCK(vp); - continue; - } - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, nvp) { 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 +944,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,10 @@ 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); - if (vp->v_type == VNON) { - VI_UNLOCK(vp); - MNT_ILOCK(mp); - continue; - } + 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; } ip = VTOI(vp); @@ -690,9 +674,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 +1039,12 @@ 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); - if (vp->v_type == VNON) { - VI_UNLOCK(vp); - continue; - } - MNT_IUNLOCK(mp); + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { 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 +1055,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,13 +1432,7 @@ 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) { - VI_UNLOCK(vp); - continue; - } + MNT_VNODE_FOREACH_ALL(vp, mp, mvp) { ip = VTOI(vp); /* @@ -1462,19 +1447,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 +1518,33 @@ 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) { - 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 +1552,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 +1560,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 +1576,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,13 @@ 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 +537,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 +551,6 @@ loop: VI_UNLOCK(xvp); VOP_UNLOCK(xvp, 0); vdrop(xvp); - MNT_ILOCK(mp); continue; } VI_UNLOCK(xvp); @@ -567,14 +560,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 +601,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 +2521,25 @@ 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 || - ((VTOI(vp)->i_flag & IN_LAZYACCESS) == 0 && - ((vp->v_iflag & VI_OWEINACT) == 0 || - vp->v_usecount > 0))) { + if ((VTOI(vp)->i_flag & IN_LAZYACCESS) == 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 +2552,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 +2560,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_type == VNON || + (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_type == VNON || + (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: boot after break to kgdb