GENERIC from Thu Feb 21 21:52:04 2013 +0200, r247117+vm1 bd20dc6, vmcore.34 GDB: no debug ports present KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2013 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 r247117+bd20dc6-dirty: Sat Feb 23 08:23:18 CET 2013 pho@x4.osted.lan:/var/tmp/deviant2/sys/amd64/compile/PHO amd64 gcc version 4.2.1 20070831 patched [FreeBSD] 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 K8-class CPU) Origin = "AuthenticAMD" Id = 0x100f23 Family = 0x10 Model = 0x2 Stepping = 3 Features=0x178bfbff Features2=0x802009 AMD Features=0xee500800 AMD Features2=0x7ff TSC: P-state invariant real memory = 8589934592 (8192 MB) avail memory = 8098934784 (7723 MB) : Trying to mount root from ufs:/dev/ufs/root [rw]... 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/ufs/root: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ufs/root: clean, 449281 free (889 frags, 56049 blocks, 0.1% fragmentation) /dev/ufs/home: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ufs/home: clean, 113953 free (5297 frags, 13582 blocks, 0.5% fragmentation) /dev/ufs/usr: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ufs/usr: clean, 4276721 free (178017 frags, 512338 blocks, 1.8% fragmentation) /dev/label/tmp: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/label/tmp: clean, 42785173 free (1221 frags, 5347994 blocks, 0.0% fragmentation) /dev/ufs/var: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ufs/var: clean, 9937343 free (42439 frags, 1236863 blocks, 0.2% fragmentation) Mounting local file systems:. Setting hostname: x4.osted.lan. re0: link state changed to DOWN Starting Network: lo0 re0. lo0: flags=8049 metric 0 mtu 16384 options=600003 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 nd6 options=21 re0: flags=8843 metric 0 mtu 1500 options=8209b ether 00:21:85:15:33:7d inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::221:85ff:fe15:337d%re0 prefixlen 64 tentative scopeid 0x1 nd6 options=29 media: Ethernet autoselect (none) status: no carrier Starting devd. add net default: gateway 192.168.1.1 add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/kde4/lib /usr/local/lib/compat/pkg /usr/local/lib/qt4 32-bit compatibility ldconfig path: /usr/lib32 Creating and/or trimming log files. Starting syslogd. savecore: unable to read from bounds, using 0 savecore: couldn't find media and/or sector size of /var/crash: Inappropriate ioctl for device Feb 23 08:40:12 x4 savecore: couldn't find media and/or sector size of /var/crash: Inappropriate ioctl for device savecore: unable to read from bounds, using 0 No core dumps found. Additional ABI support: linux. Starting rpcbind. NFS access cache time=60 lock order reversal: 1st 0xffffff81e6e67f38 bufwait (bufwait) @ kern/vfs_bio.c:3029 2nd 0xfffffe000b5a1c00 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:284 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff82478693f0 kdb_backtrace() at kdb_backtrace+0x37/frame 0xffffff82478694b0 _witness_debugger() at _witness_debugger+0x2c/frame 0xffffff82478694d0 witness_checkorder() at witness_checkorder+0x82d/frame 0xffffff8247869580 _sx_xlock() at _sx_xlock+0x74/frame 0xffffff82478695b0 ufsdirhash_acquire() at ufsdirhash_acquire+0x44/frame 0xffffff82478695d0 ufsdirhash_add() at ufsdirhash_add+0x19/frame 0xffffff8247869600 ufs_direnter() at ufs_direnter+0x6c1/frame 0xffffff82478696d0 ufs_mkdir() at ufs_mkdir+0x50e/frame 0xffffff82478698c0 VOP_MKDIR_APV() at VOP_MKDIR_APV+0xc9/frame 0xffffff82478698f0 kern_mkdirat() at kern_mkdirat+0x212/frame 0xffffff8247869ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247869bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247869bf0 --- syscall (136, FreeBSD ELF64, sys_mkdir), rip = 0x80092532a, rsp = 0x7fffffffd788, rbp = 0x801006050 --- Clearing /tmp (X related). Starting mountd. Starting nfsd. Recovering vi editor sessions:. Updating motd:. Starting ntpd. Configuring syscons: keymap blanktime. Starting sshd. Starting cron. Local package initialization: watchdogd. Starting default moused. Starting inetd. Sat Feb 23 08:40:16 CET 2013 FreeBSD/amd64 (x4.osted.lan) (console) login: Feb 23 08:40:34 x4 su: pho to root on /dev/pts/1 lock order reversal: 1st 0xfffffe000b78a7b8 ufs (ufs) @ kern/vfs_subr.c:2176 2nd 0xffffff81e78b7938 bufwait (bufwait) @ ufs/ffs/ffs_vnops.c:261 3rd 0xfffffe000bddc548 ufs (ufs) @ kern/vfs_subr.c:2176 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff82478c2b70 kdb_backtrace() at kdb_backtrace+0x37/frame 0xffffff82478c2c30 _witness_debugger() at _witness_debugger+0x2c/frame 0xffffff82478c2c50 witness_checkorder() at witness_checkorder+0x82d/frame 0xffffff82478c2d00 __lockmgr_args() at __lockmgr_args+0x1178/frame 0xffffff82478c2de0 ffs_lock() at ffs_lock+0x9b/frame 0xffffff82478c2e30 VOP_LOCK1_APV() at VOP_LOCK1_APV+0xab/frame 0xffffff82478c2e60 _vn_lock() at _vn_lock+0x8e/frame 0xffffff82478c2ee0 vget() at vget+0x63/frame 0xffffff82478c2f30 vfs_hash_get() at vfs_hash_get+0xd5/frame 0xffffff82478c2f80 ffs_vgetf() at ffs_vgetf+0x48/frame 0xffffff82478c3010 softdep_sync_buf() at softdep_sync_buf+0x397/frame 0xffffff82478c30f0 ffs_syncvnode() at ffs_syncvnode+0x311/frame 0xffffff82478c3170 ffs_sync() at ffs_sync+0x1b3/frame 0xffffff82478c3230 vfs_write_suspend() at vfs_write_suspend+0x105/frame 0xffffff82478c3260 ffs_snapshot() at ffs_snapshot+0xb87/frame 0xffffff82478c35a0 ffs_mount() at ffs_mount+0x8d9/frame 0xffffff82478c3790 vfs_donmount() at vfs_donmount+0xee0/frame 0xffffff82478c3a90 sys_nmount() at sys_nmount+0x66/frame 0xffffff82478c3ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478c3bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478c3bf0 --- syscall (378, FreeBSD ELF64, sys_nmount), rip = 0x800880dfa, rsp = 0x7fffffffcea8, rbp = 0x7fffffffda60 --- lock order reversal: 1st 0xffffff81e78e1f38 bufwait (bufwait) @ kern/vfs_bio.c:3029 2nd 0xfffffe00b0beb430 snaplk (snaplk) @ ufs/ffs/ffs_snapshot.c:2298 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff8247a80040 kdb_backtrace() at kdb_backtrace+0x37/frame 0xffffff8247a80100 _witness_debugger() at _witness_debugger+0x2c/frame 0xffffff8247a80120 witness_checkorder() at witness_checkorder+0x82d/frame 0xffffff8247a801d0 __lockmgr_args() at __lockmgr_args+0x1178/frame 0xffffff8247a802b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247a80350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247a80390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247a803c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247a803f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247a80430 bufwrite() at bufwrite+0x125/frame 0xffffff8247a80460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247a80510 cluster_write() at cluster_write+0x332/frame 0xffffff8247a80620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a806c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a807d0 vn_write() at vn_write+0x281/frame 0xffffff8247a80860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a809f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a80a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a80a80 sys_write() at sys_write+0x64/frame 0xffffff8247a80ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a80bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a80bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- lock order reversal: 1st 0xfffffe00b0beb430 snaplk (snaplk) @ ufs/ufs/ufs_vnops.c:968 2nd 0xfffffe000bc422d8 ufs (ufs) @ ufs/ffs/ffs_snapshot.c:1627 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff8247b072a0 kdb_backtrace() at kdb_backtrace+0x37/frame 0xffffff8247b07360 _witness_debugger() at _witness_debugger+0x2c/frame 0xffffff8247b07380 witness_checkorder() at witness_checkorder+0x82d/frame 0xffffff8247b07430 __lockmgr_args() at __lockmgr_args+0x1178/frame 0xffffff8247b07510 ffs_snapremove() at ffs_snapremove+0xe2/frame 0xffffff8247b07590 ffs_truncate() at ffs_truncate+0xd35/frame 0xffffff8247b077e0 ufs_inactive() at ufs_inactive+0x28c/frame 0xffffff8247b07820 VOP_INACTIVE_APV() at VOP_INACTIVE_APV+0xc9/frame 0xffffff8247b07850 vinactive() at vinactive+0xb2/frame 0xffffff8247b078b0 vputx() at vputx+0x375/frame 0xffffff8247b07910 kern_unlinkat() at kern_unlinkat+0x19c/frame 0xffffff8247b07ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247b07bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247b07bf0 --- syscall (10, FreeBSD ELF64, sys_unlink), rip = 0x8009249da, rsp = 0x7fffffffd5a8, rbp = 0 --- panic: bremfree: buffer 0xffffff81e78ab8a0 already marked for delayed removal. cpuid = 0 KDB: enter: panic [ thread pid 1679 tid 100108 ] Stopped at kdb_enter+0x3b: movq $0,0xa995f2(%rip) db> run pho db:0:pho> bt Tracing pid 1679 tid 100108 td 0xfffffe0008f37480 kdb_enter() at kdb_enter+0x3b/frame 0xffffff824784ae40 vpanic() at vpanic+0xe1/frame 0xffffff824784ae80 kassert_panic() at kassert_panic+0xd3/frame 0xffffff824784af70 bremfree() at bremfree+0xab/frame 0xffffff824784af90 getblk() at getblk+0x2f5/frame 0xffffff824784b020 breadn_flags() at breadn_flags+0x40/frame 0xffffff824784b070 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff824784b120 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff824784b170 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff824784b1e0 ffs_balloc_ufs2() at ffs_balloc_ufs2+0x11ef/frame 0xffffff824784b3b0 ffs_copyonwrite() at ffs_copyonwrite+0x3e8/frame 0xffffff824784b450 ffs_geom_strategy() at ffs_geom_strategy+0x1cb/frame 0xffffff824784b490 bufwrite() at bufwrite+0x125/frame 0xffffff824784b4c0 ffs_nodealloccg() at ffs_nodealloccg+0x4e0/frame 0xffffff824784b560 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff824784b5b0 ffs_valloc() at ffs_valloc+0xa0/frame 0xffffff824784b650 ufs_makeinode() at ufs_makeinode+0xaf/frame 0xffffff824784b810 VOP_CREATE_APV() at VOP_CREATE_APV+0xc6/frame 0xffffff824784b840 vn_open_cred() at vn_open_cred+0x2be/frame 0xffffff824784b990 kern_openat() at kern_openat+0x20e/frame 0xffffff824784bad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824784bbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824784bbf0 --- syscall (5, FreeBSD ELF32, sys_open), rip = 0x28189dcf, rsp = 0xffffc688, rbp = 0xffffc6a4 --- db:0:bt> show allpcpu Current CPU: 0 cpuid = 0 dynamic pcpu = 0x5d7480 curthread = 0xfffffe0008f37480: pid 1679 "creat" curpcb = 0xffffff824784bcc0 fpcurthread = none idlethread = 0xfffffe0005215480: tid 100003 "idle: cpu0" curpmap = 0xfffffe0116231be8 tssp = 0xffffffff8156d200 commontssp = 0xffffffff8156d200 rsp0 = 0xffffff824784bcc0 gs32p = 0xffffffff8156b338 ldt = 0xffffffff8156b378 tss = 0xffffffff8156b368 spin locks held: cpuid = 1 dynamic pcpu = 0xffffff807ef1e480 curthread = 0xfffffe000bce0480: pid 1670 "rw" curpcb = 0xffffff8247904cc0 fpcurthread = none idlethread = 0xfffffe0005215000: tid 100004 "idle: cpu1" curpmap = 0xfffffe01165cd5c8 tssp = 0xffffffff8156d268 commontssp = 0xffffffff8156d268 rsp0 = 0xffffff8247904cc0 gs32p = 0xffffffff8156b3a0 ldt = 0xffffffff8156b3e0 tss = 0xffffffff8156b3d0 spin locks held: cpuid = 2 dynamic pcpu = 0xffffff807ef25480 curthread = 0xfffffe000bd16480: pid 1632 "rw" curpcb = 0xffffff8247a08cc0 fpcurthread = none idlethread = 0xfffffe0005221900: tid 100005 "idle: cpu2" curpmap = 0xfffffe000b17b8d8 tssp = 0xffffffff8156d2d0 commontssp = 0xffffffff8156d2d0 rsp0 = 0xffffff8247a08cc0 gs32p = 0xffffffff8156b408 ldt = 0xffffffff8156b448 tss = 0xffffffff8156b438 spin locks held: cpuid = 3 dynamic pcpu = 0xffffff807ef2c480 curthread = 0xfffffe000bd14900: pid 1622 "rw" curpcb = 0xffffff8247a21cc0 fpcurthread = none idlethread = 0xfffffe0005221480: tid 100006 "idle: cpu3" curpmap = 0xfffffe01164608d8 tssp = 0xffffffff8156d338 commontssp = 0xffffffff8156d338 rsp0 = 0xffffff8247a21cc0 gs32p = 0xffffffff8156b470 ldt = 0xffffffff8156b4b0 tss = 0xffffffff8156b4a0 spin locks held: db:0:allpcpu> show alllocks Process 1704 (rm) thread 0xfffffe000b221480 (100248) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe000bc422d8) locked @ ufs/ffs/ffs_snapshot.c:1627 Process 1700 (rw) thread 0xfffffe0116e82000 (100286) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe011691d2d8) locked @ kern/vfs_vnops.c:795 Process 1698 (rw) thread 0xfffffe0116718000 (100277) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e8a938) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116ca82d8) locked @ kern/vfs_vnops.c:795 Process 1696 (rw) thread 0xfffffe0116bda480 (100300) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e8acab38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116e4e2d8) locked @ kern/vfs_vnops.c:795 Process 1694 (rw) thread 0xfffffe0116bdc000 (100267) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116b84548) locked @ kern/vfs_vnops.c:795 Process 1692 (rw) thread 0xfffffe000bd44480 (100302) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116d497b8) locked @ kern/vfs_vnops.c:795 Process 1690 (rw) thread 0xfffffe000bd44000 (100303) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e67238) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116b642d8) locked @ kern/vfs_vnops.c:795 Process 1688 (rw) thread 0xfffffe000bd42000 (100311) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe011691c7b8) locked @ kern/vfs_vnops.c:795 Process 1686 (rw) thread 0xfffffe01167ad480 (100269) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e78d1738) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe011667e7b8) locked @ kern/vfs_vnops.c:795 Process 1684 (rw) thread 0xfffffe0139326480 (100296) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7cfda38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116cd3068) locked @ kern/vfs_vnops.c:795 Process 1682 (rw) thread 0xfffffe01167b1480 (100250) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116f2b068) locked @ kern/vfs_vnops.c:795 Process 1680 (rw) thread 0xfffffe0116265000 (100222) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116ced068) locked @ kern/vfs_vnops.c:795 Process 1679 (creat) thread 0xfffffe0008f37480 (100108) exclusive sleep mutex bufobj interlock (bufobj interlock) r = 0 (0xfffffe000bdddb28) locked @ kern/vfs_bio.c:3054 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e78df838) locked @ kern/vfs_bio.c:3029 exclusive lockmgr snaplk (snaplk) r = 0 (0xfffffe00b0beb430) locked @ ufs/ffs/ffs_snapshot.c:2298 exclusive lockmgr bufwait (bufwait) r = 1 (0xffffff81e78ab938) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe011692c548) locked @ kern/vfs_lookup.c:516 Process 1678 (rw) thread 0xfffffe0116264900 (100223) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116a40c98) locked @ kern/vfs_vnops.c:795 Process 1676 (rw) thread 0xfffffe0116264480 (100224) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e03338) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116fa97b8) locked @ kern/vfs_vnops.c:795 Process 1674 (rw) thread 0xfffffe0116495000 (100218) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0139086a28) locked @ kern/vfs_vnops.c:795 Process 1672 (rw) thread 0xfffffe011626a900 (100219) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7dd9f38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe011693bc98) locked @ kern/vfs_vnops.c:795 Process 1670 (rw) thread 0xfffffe000bce0480 (100145) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e8a338) locked @ kern/vfs_bio.c:2266 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe000bbfdc98) locked @ kern/vfs_vnops.c:795 Process 1668 (rw) thread 0xfffffe000b109900 (100122) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe01167242d8) locked @ kern/vfs_vnops.c:795 Process 1666 (rw) thread 0xfffffe0116267000 (100191) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116dc57b8) locked @ kern/vfs_vnops.c:795 Process 1664 (rw) thread 0xfffffe0116265900 (100192) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116d4f068) locked @ kern/vfs_vnops.c:795 Process 1662 (rw) thread 0xfffffe000b226480 (100093) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7d69a38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116a27c98) locked @ kern/vfs_vnops.c:795 Process 1661 (creat) thread 0xfffffe000b174000 (100162) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0139549c98) locked @ kern/vfs_lookup.c:516 Process 1660 (rw) thread 0xfffffe000b409480 (100134) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116c33a28) locked @ kern/vfs_vnops.c:795 Process 1658 (rw) thread 0xfffffe000b10e480 (100087) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0139079068) locked @ kern/vfs_vnops.c:795 Process 1656 (rw) thread 0xfffffe000b10d000 (100101) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116c3f548) locked @ kern/vfs_vnops.c:795 Process 1654 (rw) thread 0xfffffe000b7b2900 (100130) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e55b38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116f22a28) locked @ kern/vfs_vnops.c:795 Process 1652 (rw) thread 0xfffffe000b228900 (100141) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116f74a28) locked @ kern/vfs_vnops.c:795 Process 1650 (rw) thread 0xfffffe01167ad900 (100268) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116b15548) locked @ kern/vfs_vnops.c:795 Process 1648 (rw) thread 0xfffffe01167ab480 (100280) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0139003c98) locked @ kern/vfs_vnops.c:795 Process 1646 (rw) thread 0xfffffe000bd43000 (100308) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116b1ec98) locked @ kern/vfs_vnops.c:795 Process 1644 (rw) thread 0xfffffe0116bdb000 (100297) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116f252d8) locked @ kern/vfs_vnops.c:795 Process 1643 (creat) thread 0xfffffe011615b000 (100171) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116e16c98) locked @ kern/vfs_lookup.c:516 Process 1642 (rw) thread 0xfffffe0116bda000 (100304) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7d9f138) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e2c438) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e72338) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116fb3c98) locked @ kern/vfs_vnops.c:795 Process 1640 (rw) thread 0xfffffe0116bdb900 (100271) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116d1c068) locked @ kern/vfs_subr.c:2176 Process 1638 (rw) thread 0xfffffe011615a900 (100172) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e7b338) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0139024a28) locked @ kern/vfs_vnops.c:795 Process 1637 (rw) thread 0xfffffe000bd17000 (100195) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7b27638) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7da2a38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7d7de38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7dd3638) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116fad7b8) locked @ kern/vfs_vnops.c:795 Process 1635 (rw) thread 0xfffffe000bd16900 (100196) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7d58638) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7dac638) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e5b538) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116bad068) locked @ kern/vfs_vnops.c:795 Process 1632 (rw) thread 0xfffffe000bd16480 (100197) exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xfffffe0116925130) locked @ kern/kern_rangelock.c:162 Process 1630 (rw) thread 0xfffffe000bd16000 (100198) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116c01c98) locked @ kern/vfs_vnops.c:795 Process 1628 (rw) thread 0xfffffe000bd15900 (100199) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e4c238) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e92b7d38) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e7a738) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116ab67b8) locked @ kern/vfs_vnops.c:795 Process 1626 (rw) thread 0xfffffe000bd15480 (100200) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7dfa038) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7d39738) locked @ kern/vfs_bio.c:3029 exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e72938) locked @ kern/vfs_bio.c:3029 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116b91c98) locked @ kern/vfs_vnops.c:795 Process 1624 (rw) thread 0xfffffe000bd15000 (100201) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe0116ce37b8) locked @ kern/vfs_vnops.c:795 Process 1622 (rw) thread 0xfffffe000bd14900 (100202) exclusive lockmgr ufs (ufs) r = 0 (0xfffffe011612c068) locked @ kern/vfs_vnops.c:795 Process 1177 (md5) thread 0xfffffe000b7b1000 (100146) exclusive lockmgr bufwait (bufwait) r = 0 (0xffffff81e7e7aa38) locked @ kern/vfs_bio.c:2266 exclusive lockmgr ufs (ufs) r = 0 (0xfffffe000bdde068) locked @ dev/md/md.c:770 db:0:alllocks> show lockedvnods Locked vnodes 0xfffffe000bdde000: tag ufs, type VREG usecount 1, writecount 1, refcount 46885 mountedhere 0 flags (VV_MD|VI_ACTIVE) v_object 0xfffffe000bd012d0 ref 0 pages 258676 lock type ufs: EXCL by thread 0xfffffe000b7b1000 (pid 1177, md5, tid 100146) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff805c4947 at mdstart_vnode+0x137 #5 0xffffffff805c3381 at md_kthread+0x151 #6 0xffffffff808ad369 at fork_exit+0x139 #7 0xffffffff80c6cc1e at fork_trampoline+0xe ino 5416962, on dev ufs/var 0xfffffe000bc42270: tag ufs, type VREG usecount 0, writecount 0, refcount 65 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE|VI_DOINGINACT) v_object 0xfffffe01165ce870 ref 0 pages 288 lock type ufs: EXCL by thread 0xfffffe000b221480 (pid 1704, rm, tid 100248) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b15e02 at ffs_snapremove+0xe2 #2 0xffffffff80b12715 at ffs_truncate+0xd35 #3 0xffffffff80b3f05c at ufs_inactive+0x28c #4 0xffffffff80d1d379 at VOP_INACTIVE_APV+0xc9 #5 0xffffffff80986192 at vinactive+0xb2 #6 0xffffffff809889e5 at vputx+0x375 #7 0xffffffff8098b2cc at kern_unlinkat+0x19c #8 0xffffffff80c82863 at amd64_syscall+0x2d3 #9 0xffffffff80c6c9d7 at Xfast_syscall+0xf7 ino 5, on dev md5a 0xfffffe000bbfe4e0: tag ufs, type VREG usecount 1, writecount 0, refcount 108 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116c49d20 ref 0 pages 616 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 6, on dev md5a 0xfffffe0116e42000: tag ufs, type VREG usecount 1, writecount 0, refcount 104 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116b17960 ref 0 pages 584 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 7, on dev md5a 0xfffffe0116b1e000: tag ufs, type VREG usecount 1, writecount 0, refcount 103 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116a67000 ref 0 pages 504 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 8, on dev md5a 0xfffffe0116f3f9c0: tag ufs, type VREG usecount 1, writecount 0, refcount 103 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116a36b40 ref 0 pages 576 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 9, on dev md5a 0xfffffe0116f3c000: tag ufs, type VREG usecount 1, writecount 0, refcount 105 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116a845a0 ref 0 pages 592 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 10, on dev md5a 0xfffffe0116be7000: tag ufs, type VREG usecount 1, writecount 0, refcount 105 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116f02870 ref 0 pages 528 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 11, on dev md5a 0xfffffe0116f75c30: tag ufs, type VREG usecount 1, writecount 0, refcount 105 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116abe870 ref 0 pages 592 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 12, on dev md5a 0xfffffe0116f259c0: tag ufs, type VREG usecount 1, writecount 0, refcount 106 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116cbbc30 ref 0 pages 608 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 13, on dev md5a 0xfffffe0116cdf9c0: tag ufs, type VREG usecount 1, writecount 0, refcount 105 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116aec0f0 ref 0 pages 552 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 14, on dev md5a 0xfffffe0116b38750: tag ufs, type VREG usecount 1, writecount 0, refcount 104 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116b5cb40 ref 0 pages 552 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 15, on dev md5a 0xfffffe0116944270: tag ufs, type VREG usecount 1, writecount 0, refcount 104 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116823c30 ref 0 pages 576 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 16, on dev md5a 0xfffffe0116f384e0: tag ufs, type VREG usecount 1, writecount 0, refcount 104 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116cbc000 ref 0 pages 552 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 17, on dev md5a 0xfffffe011689d4e0: tag ufs, type VREG usecount 1, writecount 0, refcount 108 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116a360f0 ref 0 pages 592 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 19, on dev md5a 0xfffffe0116a44270: tag ufs, type VREG usecount 1, writecount 0, refcount 107 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0139054780 ref 0 pages 600 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 20, on dev md5a 0xfffffe0116afbc30: tag ufs, type VREG usecount 1, writecount 0, refcount 107 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116fe0e10 ref 0 pages 552 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 22, on dev md5a 0xfffffe01390094e0: tag ufs, type VREG usecount 1, writecount 0, refcount 105 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116d3a000 ref 0 pages 528 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 24, on dev md5a 0xfffffe0116a2d4e0: tag ufs, type VREG usecount 1, writecount 0, refcount 105 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe01390c01e0 ref 0 pages 600 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 27, on dev md5a 0xfffffe0116f354e0: tag ufs, type VREG usecount 1, writecount 0, refcount 106 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe0116fff3c0 ref 0 pages 536 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 43, on dev md5a 0xfffffe0116abb270: tag ufs, type VREG usecount 1, writecount 0, refcount 53 mountedhere 0 flags (VV_SYSTEM|VI_ACTIVE) v_object 0xfffffe000bd1b3c0 ref 0 pages 192 lock type snaplk: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b164a9 at ffs_copyonwrite+0x199 #2 0xffffffff80b3224b at ffs_geom_strategy+0x1cb #3 0xffffffff8096d005 at bufwrite+0x125 #4 0xffffffff80b09b20 at ffs_nodealloccg+0x4e0 #5 0xffffffff80b08922 at ffs_hashalloc+0x72 #6 0xffffffff80b08ef0 at ffs_valloc+0xa0 #7 0xffffffff80b46b3f at ufs_makeinode+0xaf #8 0xffffffff80d22c16 at VOP_CREATE_APV+0xc6 #9 0xffffffff80994dce at vn_open_cred+0x2be #10 0xffffffff8098f6ce at kern_openat+0x20e #11 0xffffffff80cfbeff at ia32_syscall+0x35f #12 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 49, on dev md5a 0xfffffe0116e16c30: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe011632c690 ref 0 pages 0 lock type ufs: EXCL by thread 0xfffffe011615b000 (pid 1643, creat, tid 100171) #0 0xffffffff808c250c at __lockmgr_args+0xd7c #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80977b97 at lookup+0xc7 #5 0xffffffff80978b7c at namei+0x3fc #6 0xffffffff80994bcb at vn_open_cred+0xbb #7 0xffffffff8098f6ce at kern_openat+0x20e #8 0xffffffff80cfbeff at ia32_syscall+0x35f #9 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 75, on dev md5a 0xfffffe0139549c30: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116f6a000 ref 0 pages 0 lock type ufs: EXCL by thread 0xfffffe000b174000 (pid 1661, creat, tid 100162) #0 0xffffffff808c250c at __lockmgr_args+0xd7c #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80977b97 at lookup+0xc7 #5 0xffffffff80978b7c at namei+0x3fc #6 0xffffffff80994bcb at vn_open_cred+0xbb #7 0xffffffff8098f6ce at kern_openat+0x20e #8 0xffffffff80cfbeff at ia32_syscall+0x35f #9 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98307, on dev md5a 0xfffffe011691c750: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01162abb40 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe000bd42000 (pid 1688, rw, tid 100311) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 80, on dev md5a 0xfffffe0116a27c30: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0139534a50 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe000b226480 (pid 1662, rw, tid 100093) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98308, on dev md5a 0xfffffe0116f749c0: tag ufs, type VREG usecount 1, writecount 1, refcount 12 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116414780 ref 0 pages 80 lock type ufs: EXCL by thread 0xfffffe000b228900 (pid 1652, rw, tid 100141) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 81, on dev md5a 0xfffffe0116d4f000: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01162d10f0 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe0116265900 (pid 1664, rw, tid 100192) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 82, on dev md5a 0xfffffe0116cd3000: tag ufs, type VREG usecount 1, writecount 1, refcount 10 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116387c30 ref 0 pages 64 lock type ufs: EXCL by thread 0xfffffe0139326480 (pid 1684, rw, tid 100296) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98312, on dev md5a 0xfffffe011692c4e0: tag ufs, type VDIR usecount 2, writecount 0, refcount 3 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116fe04b0 ref 0 pages 0 lock type ufs: EXCL by thread 0xfffffe0008f37480 (pid 1679, creat, tid 100108) #0 0xffffffff808c250c at __lockmgr_args+0xd7c #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80977b97 at lookup+0xc7 #5 0xffffffff80978b7c at namei+0x3fc #6 0xffffffff80994bcb at vn_open_cred+0xbb #7 0xffffffff8098f6ce at kern_openat+0x20e #8 0xffffffff80cfbeff at ia32_syscall+0x35f #9 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98321, on dev md5a 0xfffffe0116dc5750: tag ufs, type VREG usecount 1, writecount 1, refcount 13 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01163861e0 ref 0 pages 88 lock type ufs: EXCL by thread 0xfffffe0116267000 (pid 1666, rw, tid 100191) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98324, on dev md5a 0xfffffe011667e750: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116414870 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe01167ad480 (pid 1686, rw, tid 100269) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 84, on dev md5a 0xfffffe0116f25270: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01163882d0 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe0116bdb000 (pid 1644, rw, tid 100297) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98331, on dev md5a 0xfffffe0116c01c30: tag ufs, type VREG usecount 1, writecount 1, refcount 12 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116414a50 ref 0 pages 80 lock type ufs: EXCL by thread 0xfffffe000bd16000 (pid 1630, rw, tid 100198) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98333, on dev md5a 0xfffffe0116fb3c30: tag ufs, type VREG usecount 1, writecount 1, refcount 17 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116869c30 ref 0 pages 120 lock type ufs: EXCL by thread 0xfffffe0116bda000 (pid 1642, rw, tid 100304) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98338, on dev md5a 0xfffffe0116ca8270: tag ufs, type VREG usecount 1, writecount 1, refcount 16 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01167165a0 ref 0 pages 112 lock type ufs: EXCL by thread 0xfffffe0116718000 (pid 1698, rw, tid 100277) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 86, on dev md5a 0xfffffe0116b1ec30: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01165b2a50 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe000bd43000 (pid 1646, rw, tid 100308) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98340, on dev md5a 0xfffffe0116f229c0: tag ufs, type VREG usecount 1, writecount 1, refcount 16 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01163881e0 ref 0 pages 112 lock type ufs: EXCL by thread 0xfffffe000b7b2900 (pid 1654, rw, tid 100130) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98344, on dev md5a 0xfffffe0116b844e0: tag ufs, type VREG usecount 1, writecount 1, refcount 6 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116abd4b0 ref 0 pages 32 lock type ufs: EXCL by thread 0xfffffe0116bdc000 (pid 1694, rw, tid 100267) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 87, on dev md5a 0xfffffe0116c3f4e0: tag ufs, type VREG usecount 1, writecount 1, refcount 13 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01164420f0 ref 0 pages 88 lock type ufs: EXCL by thread 0xfffffe000b10d000 (pid 1656, rw, tid 100101) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98346, on dev md5a 0xfffffe0116a40c30: tag ufs, type VREG usecount 1, writecount 1, refcount 13 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116930c30 ref 0 pages 88 lock type ufs: EXCL by thread 0xfffffe0116264900 (pid 1678, rw, tid 100223) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98350, on dev md5a 0xfffffe0116f2b000: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116dcac30 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe01167b1480 (pid 1682, rw, tid 100250) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98353, on dev md5a 0xfffffe011693bc30: tag ufs, type VREG usecount 1, writecount 1, refcount 6 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116c47000 ref 0 pages 32 lock type ufs: EXCL by thread 0xfffffe011626a900 (pid 1672, rw, tid 100219) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98354, on dev md5a 0xfffffe011691d270: tag ufs, type VREG usecount 1, writecount 1, refcount 12 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116415a50 ref 0 pages 80 lock type ufs: EXCL by thread 0xfffffe0116e82000 (pid 1700, rw, tid 100286) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98356, on dev md5a 0xfffffe0116e4e270: tag ufs, type VREG usecount 1, writecount 1, refcount 6 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116132b40 ref 0 pages 32 lock type ufs: EXCL by thread 0xfffffe0116bda480 (pid 1696, rw, tid 100300) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98360, on dev md5a 0xfffffe0116724270: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116413690 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe000b109900 (pid 1668, rw, tid 100122) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98361, on dev md5a 0xfffffe0116b64270: tag ufs, type VREG usecount 1, writecount 1, refcount 12 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe000bd30780 ref 0 pages 80 lock type ufs: EXCL by thread 0xfffffe000bd44000 (pid 1690, rw, tid 100303) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98369, on dev md5a 0xfffffe0139079000: tag ufs, type VREG usecount 1, writecount 1, refcount 12 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116415960 ref 0 pages 80 lock type ufs: EXCL by thread 0xfffffe000b10e480 (pid 1658, rw, tid 100087) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98372, on dev md5a 0xfffffe0116bad000: tag ufs, type VREG usecount 1, writecount 1, refcount 17 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01161ac4b0 ref 0 pages 120 lock type ufs: EXCL by thread 0xfffffe000bd16900 (pid 1635, rw, tid 100196) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98375, on dev md5a 0xfffffe0139003c30: tag ufs, type VREG usecount 1, writecount 1, refcount 12 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe011686a2d0 ref 0 pages 80 lock type ufs: EXCL by thread 0xfffffe01167ab480 (pid 1648, rw, tid 100280) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98376, on dev md5a 0xfffffe0116c339c0: tag ufs, type VREG usecount 1, writecount 1, refcount 6 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116db33c0 ref 0 pages 32 lock type ufs: EXCL by thread 0xfffffe000b409480 (pid 1660, rw, tid 100134) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98377, on dev md5a 0xfffffe01390869c0: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01162d12d0 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe0116495000 (pid 1674, rw, tid 100218) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98378, on dev md5a 0xfffffe0116d49750: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe011686a1e0 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe000bd44480 (pid 1692, rw, tid 100302) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98379, on dev md5a 0xfffffe000bbfdc30: tag ufs, type VREG usecount 1, writecount 1, refcount 13 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116d77d20 ref 0 pages 81 lock type ufs: EXCL by thread 0xfffffe000bce0480 (pid 1670, rw, tid 100145) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 89, on dev md5a 0xfffffe0116fad750: tag ufs, type VREG usecount 1, writecount 1, refcount 18 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01167e01e0 ref 0 pages 128 lock type ufs: EXCL by thread 0xfffffe000bd17000 (pid 1637, rw, tid 100195) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98380, on dev md5a 0xfffffe0116b154e0: tag ufs, type VREG usecount 1, writecount 1, refcount 9 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01167c64b0 ref 0 pages 56 lock type ufs: EXCL by thread 0xfffffe01167ad900 (pid 1650, rw, tid 100268) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98381, on dev md5a 0xfffffe0116b91c30: tag ufs, type VREG usecount 1, writecount 1, refcount 17 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01168751e0 ref 0 pages 120 lock type ufs: EXCL by thread 0xfffffe000bd15480 (pid 1626, rw, tid 100200) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98386, on dev md5a 0xfffffe0116fa9750: tag ufs, type VREG usecount 1, writecount 1, refcount 6 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01167e0780 ref 0 pages 32 lock type ufs: EXCL by thread 0xfffffe0116264480 (pid 1676, rw, tid 100224) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98388, on dev md5a 0xfffffe0116d1c000: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_ACTIVE|VI_DOINGINACT) v_object 0xfffffe0116a450f0 ref 0 pages 0 lock type ufs: EXCL by thread 0xfffffe0116bdb900 (pid 1640, rw, tid 100271) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80987773 at vget+0x63 #5 0xffffffff80976bf5 at vfs_hash_get+0xd5 #6 0xffffffff80b31b18 at ffs_vgetf+0x48 #7 0xffffffff80b407ad at ufs_lookup_ino+0xf3d #8 0xffffffff80d1fef6 at VOP_CACHEDLOOKUP_APV+0xc6 #9 0xffffffff809708ab at vfs_cache_lookup+0xfb #10 0xffffffff80d20126 at VOP_LOOKUP_APV+0xc6 #11 0xffffffff80977e02 at lookup+0x332 #12 0xffffffff80978b7c at namei+0x3fc #13 0xffffffff8098b26f at kern_unlinkat+0x13f #14 0xffffffff80cfbeff at ia32_syscall+0x35f #15 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98390, on dev md5a 0xfffffe0116ced000: tag ufs, type VREG usecount 1, writecount 1, refcount 12 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe0116d43b40 ref 0 pages 80 lock type ufs: EXCL by thread 0xfffffe0116265000 (pid 1680, rw, tid 100222) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98391, on dev md5a 0xfffffe0116ab6750: tag ufs, type VREG usecount 1, writecount 1, refcount 17 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe000bfa5e10 ref 0 pages 120 lock type ufs: EXCL by thread 0xfffffe000bd15900 (pid 1628, rw, tid 100199) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 91, on dev md5a 0xfffffe01390249c0: tag ufs, type VREG usecount 1, writecount 1, refcount 13 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01162d11e0 ref 0 pages 83 lock type ufs: EXCL by thread 0xfffffe011615a900 (pid 1638, rw, tid 100172) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 92, on dev md5a 0xfffffe011612c000: tag ufs, type VREG usecount 1, writecount 1, refcount 11 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01161f4870 ref 0 pages 65 lock type ufs: EXCL by thread 0xfffffe000bd14900 (pid 1622, rw, tid 100202) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 93, on dev md5a 0xfffffe0116ce3750: tag ufs, type VREG usecount 1, writecount 1, refcount 6 mountedhere 0 flags (VI_ACTIVE) v_object 0xfffffe01163860f0 ref 0 pages 32 lock type ufs: EXCL by thread 0xfffffe000bd15000 (pid 1624, rw, tid 100201) #0 0xffffffff808c1e93 at __lockmgr_args+0x703 #1 0xffffffff80b37b4b at ffs_lock+0x9b #2 0xffffffff80d2176b at VOP_LOCK1_APV+0xab #3 0xffffffff809931fe at _vn_lock+0x8e #4 0xffffffff80994195 at vn_write+0x105 #5 0xffffffff80992276 at vn_io_fault+0x196 #6 0xffffffff80933015 at dofilewrite+0x85 #7 0xffffffff809336bc at kern_writev+0x6c #8 0xffffffff809337d4 at sys_write+0x64 #9 0xffffffff80cfbeff at ia32_syscall+0x35f #10 0xffffffff80c6ccc1 at Xint0x80_syscall+0x91 ino 98393, on dev md5a db:0:lockedvnods> show mount 0xfffffe000b0b9b58 /dev/ufs/root on / (ufs) 0xfffffe000b0ba000 devfs on /dev (devfs) 0xfffffe000b2d0790 /dev/ufs/home on /home (ufs) 0xfffffe000b0b9790 /dev/label/tmp on /tmp (ufs) 0xfffffe000b0b93c8 /dev/ufs/usr on /usr (ufs) 0xfffffe000b0b9000 /dev/ufs/var on /var (ufs) 0xfffffe000b1c13c8 procfs on /proc (procfs) 0xfffffe000bdc93c8 /dev/md5a on /mnt (ufs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 1704 1131 1131 0 D+ bo_wwait 0xfffffe000bc42468 rm 1702 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1701 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1700 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1699 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1698 1621 1191 1004 R+ rw 1697 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1696 1621 1191 1004 R+ rw 1695 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1694 1621 1191 1004 R+ rw 1693 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1692 1621 1191 1004 R+ rw 1691 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1690 1621 1191 1004 R+ rw 1689 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1688 1621 1191 1004 R+ rw 1687 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1686 1621 1191 1004 R+ rw 1685 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1684 1621 1191 1004 R+ rw 1683 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1682 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1681 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1680 1621 1191 1004 R+ rw 1679 1623 1191 1004 R+ CPU 0 creat 1678 1621 1191 1004 R+ rw 1677 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1676 1621 1191 1004 R+ rw 1675 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1674 1621 1191 1004 R+ rw 1673 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1672 1621 1191 1004 R+ rw 1671 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1670 1621 1191 1004 R+ CPU 1 rw 1669 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1668 1621 1191 1004 R+ rw 1667 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1666 1621 1191 1004 R+ rw 1665 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1664 1621 1191 1004 R+ rw 1663 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1662 1621 1191 1004 R+ rw 1661 1623 1191 1004 D+ getblk 0xffffff81e78ab938 creat 1660 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1659 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1658 1621 1191 1004 R+ rw 1657 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1656 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1655 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1654 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1653 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1652 1621 1191 1004 R+ rw 1651 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1650 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1649 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1648 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1647 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1646 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1645 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1644 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1643 1623 1191 1004 R+ creat 1642 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1641 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1640 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1639 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1638 1621 1191 1004 R+ rw 1637 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1636 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1635 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1634 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1633 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1632 1621 1191 1004 R+ CPU 2 rw 1631 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1630 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1629 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1628 1621 1191 1004 R+ rw 1627 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1626 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1625 1623 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1624 1621 1191 1004 D+ getblk 0xffffff81e78ab938 rw 1623 1619 1191 1004 S+ wait 0xfffffe000bc51000 creat 1622 1621 1191 1004 R+ CPU 3 rw 1621 1618 1191 1004 S+ wait 0xfffffe01161e34a8 rw 1619 1203 1191 1004 S+ nanslp 0xffffffff81364c28 creat 1618 1203 1191 1004 S+ nanslp 0xffffffff81364c28 rw 1568 1084 1082 1001 S nanslp 0xffffffff81364c28 sleep 1203 1202 1191 1004 S+ wait 0xfffffe000bc51950 run 1202 1201 1191 1004 S+ wait 0xfffffe000bc524a8 run 1201 1192 1191 1004 S+ nanslp 0xffffffff81364c28 run 1192 1 1191 1004 S+ wait 0xfffffe000bc69000 sh 1177 0 0 0 DL biord 0xffffff81e7e7a9a0 [md5] 1131 1127 1131 0 S+ wait 0xfffffe000bc67000 sh 1127 1124 1127 0 S+ wait 0xfffffe000b21e000 bash 1124 1123 1124 0 S+ pause 0xfffffe000bc50548 csh 1123 1104 1123 1001 S+ wait 0xfffffe000b21a4a8 su 1104 1103 1104 1001 Ss+ wait 0xfffffe000bc394a8 bash 1103 1101 1101 1001 S select 0xfffffe0005442840 sshd 1101 942 1101 0 Ss select 0xfffffe000b0d7540 sshd 1085 1082 1082 1001 S piperd 0xfffffe000bbb2000 awk 1084 1082 1082 1001 S wait 0xfffffe0008f334a8 sh 1083 1079 1083 1001 Ss+ select 0xfffffe00054428c0 top 1082 1080 1082 1001 Ss wait 0xfffffe000b5844a8 sh 1081 1078 1081 1001 Ss kqread 0xfffffe000b329200 tail 1080 1073 1073 1001 S select 0xfffffe000b0d75c0 sshd 1079 1074 1074 1001 S select 0xfffffe0005442940 sshd 1078 1072 1072 1001 S select 0xfffffe000b0d6340 sshd 1074 942 1074 0 Ss select 0xfffffe000b0d6440 sshd 1073 942 1073 0 Ss select 0xfffffe000b0d7640 sshd 1072 942 1072 0 Ss select 0xfffffe0005442a40 sshd 1071 1 1071 0 Ss+ ttyin 0xfffffe00052fb8a8 getty 1070 1 1070 0 Ss+ ttyin 0xfffffe00052fbca8 getty 1069 1 1069 0 Ss+ ttyin 0xfffffe00080920a8 getty 1068 1 1068 0 Ss+ ttyin 0xfffffe00080924a8 getty 1067 1 1067 0 Ss+ ttyin 0xfffffe00080928a8 getty 1066 1 1066 0 Ss+ ttyin 0xfffffe00052fa0a8 getty 1065 1 1065 0 Ss+ ttyin 0xfffffe00052fa4a8 getty 1064 1 1064 0 Ss+ ttyin 0xfffffe00052fa8a8 getty 1063 1 1063 0 Ss+ ttyin 0xfffffe00052faca8 getty 1024 1 1024 0 Ss select 0xfffffe000b31f3c0 inetd 991 1 991 0 Ss select 0xfffffe000b0d76c0 moused 971 1 971 0 Ss nanslp 0xffffffff81364c28 watchdogd 961 1 961 0 Ss nanslp 0xffffffff81364c28 cron 954 1 954 25 Ss pause 0xfffffe000b5849f0 sendmail 950 1 950 0 Ss select 0xfffffe000b0d65c0 sendmail 942 1 942 0 Ss select 0xfffffe000b0d7840 sshd 851 1 851 0 Ss select 0xfffffe000b0d6640 ntpd 756 755 755 0 S (threaded) nfsd 100120 S rpcsvc 0xfffffe000b070da0 nfsd: service 100119 S rpcsvc 0xfffffe000b070e20 nfsd: service 100118 S rpcsvc 0xfffffe000b071020 nfsd: service 100084 S rpcsvc 0xfffffe000b071320 nfsd: master 755 1 755 0 Ss select 0xfffffe000b0d6740 nfsd 746 1 746 0 Ss select 0xfffffe000b0d67c0 mountd 641 1 641 0 Ss select 0xfffffe000842b240 rpcbind 615 1 615 0 Ss select 0xfffffe000b31f8c0 syslogd 434 1 434 0 Ss select 0xfffffe000b0d6ac0 devd 18 0 0 0 RL [softdepflush] 17 0 0 0 DL vlruwt 0xfffffe0008f32950 [vnlru] 16 0 0 0 DL syncer 0xffffffff81554860 [syncer] 9 0 0 0 DL psleep 0xffffffff81554280 [bufdaemon] 8 0 0 0 DL pgzero 0xffffffff8156a1bc [pagezero] 7 0 0 0 DL psleep 0xffffffff81569370 [vmdaemon] 6 0 0 0 DL psleep 0xffffffff8156934c [pagedaemon] 5 0 0 0 DL ccb_scan 0xffffffff81322a60 [xpt_thrd] 4 0 0 0 DL waiting_ 0xffffffff8155a540 [sctp_iterator] 3 0 0 0 DL ctl_work 0xffffff80008b5000 [ctl_thrd] 2 0 0 0 DL - 0xfffffe0008067248 [fdc0] 15 0 0 0 DL (threaded) [usb] 100058 D - 0xffffff80008b0e18 [usbus5] 100057 D - 0xffffff80008b0dc0 [usbus5] 100056 D - 0xffffff80008b0d68 [usbus5] 100055 D - 0xffffff80008b0d10 [usbus5] 100053 D - 0xffffff80008a8460 [usbus4] 100052 D - 0xffffff80008a8408 [usbus4] 100051 D - 0xffffff80008a83b0 [usbus4] 100050 D - 0xffffff80008a8358 [usbus4] 100049 D - 0xffffff80008a5460 [usbus3] 100048 D - 0xffffff80008a5408 [usbus3] 100047 D - 0xffffff80008a53b0 [usbus3] 100046 D - 0xffffff80008a5358 [usbus3] 100045 D - 0xffffff80008a2460 [usbus2] 100044 D - 0xffffff80008a2408 [usbus2] 100043 D - 0xffffff80008a23b0 [usbus2] 100042 D - 0xffffff80008a2358 [usbus2] 100040 D - 0xffffff800089f460 [usbus1] 100039 D - 0xffffff800089f408 [usbus1] 100038 D - 0xffffff800089f3b0 [usbus1] 100037 D - 0xffffff800089f358 [usbus1] 100035 D - 0xffffff800089c460 [usbus0] 100034 D - 0xffffff800089c408 [usbus0] 100033 D - 0xffffff800089c3b0 [usbus0] 100032 D - 0xffffff800089c358 [usbus0] 14 0 0 0 DL - 0xffffffff813638c4 [yarrow] 13 0 0 0 DL (threaded) [geom] 100015 D - 0xffffffff8135c950 [g_down] 100014 D - 0xffffffff8135c948 [g_up] 100013 D - 0xffffffff8135c938 [g_event] 12 0 0 0 WL (threaded) [intr] 100063 I [irq12: psm0] 100062 I [irq1: atkbd0] 100060 I [swi0: uart] 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] 100023 I [swi2: cambio] 100022 I [swi6: task queue] 100021 I [swi6: Giant taskq] 100019 I [swi5: fast taskq] 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 CanRun [idle: cpu3] 100005 CanRun [idle: cpu2] 100004 CanRun [idle: cpu1] 100003 CanRun [idle: cpu0] 1 0 1 0 SLs wait 0xfffffe0005213950 [init] 10 0 0 0 DL audit_wo 0xffffffff8155f170 [audit] 0 0 0 0 DLs (threaded) [kernel] 100066 D - 0xffffffff813638c4 [deadlkres] 100065 D - 0xfffffe0008086780 [mca taskq] 100027 D - 0xfffffe00053c7200 [acpi_task_2] 100026 D - 0xfffffe00053c7200 [acpi_task_1] 100025 D - 0xfffffe00053c7200 [acpi_task_0] 100024 D - 0xfffffe00053c7280 [kqueue taskq] 100020 D - 0xfffffe00053c7400 [thread taskq] 100018 D - 0xfffffe00053c7500 [ffs_trim taskq] 100016 D - 0xfffffe0002f63900 [firmware taskq] 100000 D sched 0xffffffff8135cc60 [swapper] 1620 1203 1191 1004 Z+ mkdir db:0:ps> allt Tracing command rm pid 1704 tid 100248 td 0xfffffe000b221480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b07310 mi_switch() at mi_switch+0x238/frame 0xffffff8247b07360 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b073a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247b073d0 _sleep() at _sleep+0x3e9/frame 0xffffff8247b07460 bufobj_wwait() at bufobj_wwait+0x6c/frame 0xffffff8247b07490 ffs_syncvnode() at ffs_syncvnode+0x183/frame 0xffffff8247b07510 ffs_snapremove() at ffs_snapremove+0x54c/frame 0xffffff8247b07590 ffs_truncate() at ffs_truncate+0xd35/frame 0xffffff8247b077e0 ufs_inactive() at ufs_inactive+0x28c/frame 0xffffff8247b07820 VOP_INACTIVE_APV() at VOP_INACTIVE_APV+0xc9/frame 0xffffff8247b07850 vinactive() at vinactive+0xb2/frame 0xffffff8247b078b0 vputx() at vputx+0x375/frame 0xffffff8247b07910 kern_unlinkat() at kern_unlinkat+0x19c/frame 0xffffff8247b07ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247b07bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247b07bf0 --- syscall (10, FreeBSD ELF64, sys_unlink), rip = 0x8009249da, rsp = 0x7fffffffd5a8, rbp = 0 --- Tracing command creat pid 1702 tid 100256 td 0xfffffe011671b480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b2f840 mi_switch() at mi_switch+0x238/frame 0xffffff8247b2f890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b2f8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247b2f930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247b2f960 _sleep() at _sleep+0x3c3/frame 0xffffff8247b2f9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247b2fa60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247b2fad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b2fbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b2fbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command creat pid 1701 tid 100257 td 0xfffffe011671b000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b34840 mi_switch() at mi_switch+0x238/frame 0xffffff8247b34890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b348d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247b34930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247b34960 _sleep() at _sleep+0x3c3/frame 0xffffff8247b349f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247b34a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247b34ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b34bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b34bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1700 tid 100286 td 0xfffffe0116e82000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247bc5060 mi_switch() at mi_switch+0x238/frame 0xffffff8247bc50b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247bc50f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247bc5120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247bc5200 getblk() at getblk+0x11f/frame 0xffffff8247bc5290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247bc52e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247bc5390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247bc53e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247bc5450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247bc5620 ffs_write() at ffs_write+0x227/frame 0xffffff8247bc56c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247bc57d0 vn_write() at vn_write+0x281/frame 0xffffff8247bc5860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247bc59f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247bc5a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247bc5a80 sys_write() at sys_write+0x64/frame 0xffffff8247bc5ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247bc5bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247bc5bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1699 tid 100258 td 0xfffffe011671a900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b39840 mi_switch() at mi_switch+0x238/frame 0xffffff8247b39890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b398d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247b39930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247b39960 _sleep() at _sleep+0x3c3/frame 0xffffff8247b399f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247b39a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247b39ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b39bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b39bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1698 tid 100277 td 0xfffffe0116718000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b98110 mi_switch() at mi_switch+0x238/frame 0xffffff8247b98160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b981a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247b981d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247b982b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247b98350 ffs_geom_strategy() at ffs_geom_strategy+0x1cb/frame 0xffffff8247b98390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247b983c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247b983f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247b98430 bufwrite() at bufwrite+0x125/frame 0xffffff8247b98460 cluster_wbuild() at cluster_wbuild+0x1e5/frame 0xffffff8247b98510 cluster_write() at cluster_write+0x332/frame 0xffffff8247b98620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247b986c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247b987d0 vn_write() at vn_write+0x281/frame 0xffffff8247b98860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247b989f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247b98a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247b98a80 sys_write() at sys_write+0x64/frame 0xffffff8247b98ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b98bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b98bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1697 tid 100259 td 0xfffffe011671a480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b3e840 mi_switch() at mi_switch+0x238/frame 0xffffff8247b3e890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b3e8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247b3e930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247b3e960 _sleep() at _sleep+0x3c3/frame 0xffffff8247b3e9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247b3ea60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247b3ead0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b3ebf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b3ebf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1696 tid 100300 td 0xfffffe0116bda480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247c0b110 mi_switch() at mi_switch+0x238/frame 0xffffff8247c0b160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247c0b1a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247c0b1d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247c0b2b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247c0b350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247c0b390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247c0b3c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247c0b3f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247c0b430 bufwrite() at bufwrite+0x125/frame 0xffffff8247c0b460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247c0b510 cluster_write() at cluster_write+0x332/frame 0xffffff8247c0b620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247c0b6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247c0b7d0 vn_write() at vn_write+0x281/frame 0xffffff8247c0b860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247c0b9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247c0ba40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247c0ba80 sys_write() at sys_write+0x64/frame 0xffffff8247c0bad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247c0bbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247c0bbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1695 tid 100260 td 0xfffffe011671a000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b43840 mi_switch() at mi_switch+0x238/frame 0xffffff8247b43890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b438d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247b43930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247b43960 _sleep() at _sleep+0x3c3/frame 0xffffff8247b439f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247b43a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247b43ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b43bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b43bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1694 tid 100267 td 0xfffffe0116bdc000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b66110 mi_switch() at mi_switch+0x238/frame 0xffffff8247b66160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b661a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247b661d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247b662b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247b66350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247b66390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247b663c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247b663f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247b66430 bufwrite() at bufwrite+0x125/frame 0xffffff8247b66460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247b66510 cluster_write() at cluster_write+0x66d/frame 0xffffff8247b66620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247b666c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247b667d0 vn_write() at vn_write+0x281/frame 0xffffff8247b66860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247b669f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247b66a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247b66a80 sys_write() at sys_write+0x64/frame 0xffffff8247b66ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b66bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b66bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1693 tid 100181 td 0xfffffe000bd49900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479b8840 mi_switch() at mi_switch+0x238/frame 0xffffff82479b8890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479b88d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479b8930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479b8960 _sleep() at _sleep+0x3c3/frame 0xffffff82479b89f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479b8a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479b8ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479b8bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479b8bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1692 tid 100302 td 0xfffffe000bd44480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247c15110 mi_switch() at mi_switch+0x238/frame 0xffffff8247c15160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247c151a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247c151d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247c152b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247c15350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247c15390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247c153c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247c153f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247c15430 bufwrite() at bufwrite+0x125/frame 0xffffff8247c15460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247c15510 cluster_write() at cluster_write+0x66d/frame 0xffffff8247c15620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247c156c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247c157d0 vn_write() at vn_write+0x281/frame 0xffffff8247c15860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247c159f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247c15a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247c15a80 sys_write() at sys_write+0x64/frame 0xffffff8247c15ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247c15bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247c15bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1691 tid 100151 td 0xfffffe000b7b6480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247922840 mi_switch() at mi_switch+0x238/frame 0xffffff8247922890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479228d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247922930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247922960 _sleep() at _sleep+0x3c3/frame 0xffffff82479229f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247922a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247922ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247922bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247922bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1690 tid 100303 td 0xfffffe000bd44000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247c1a110 mi_switch() at mi_switch+0x238/frame 0xffffff8247c1a160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247c1a1a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247c1a1d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247c1a2b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247c1a350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247c1a390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247c1a3c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247c1a3f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247c1a430 bufwrite() at bufwrite+0x125/frame 0xffffff8247c1a460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247c1a510 cluster_write() at cluster_write+0x332/frame 0xffffff8247c1a620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247c1a6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247c1a7d0 vn_write() at vn_write+0x281/frame 0xffffff8247c1a860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247c1a9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247c1aa40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247c1aa80 sys_write() at sys_write+0x64/frame 0xffffff8247c1aad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247c1abf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247c1abf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1689 tid 100292 td 0xfffffe01392b9000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247be3840 mi_switch() at mi_switch+0x238/frame 0xffffff8247be3890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247be38d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247be3930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247be3960 _sleep() at _sleep+0x3c3/frame 0xffffff8247be39f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247be3a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247be3ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247be3bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247be3bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1688 tid 100311 td 0xfffffe000bd42000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247c42110 mi_switch() at mi_switch+0x238/frame 0xffffff8247c42160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247c421a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247c421d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247c422b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247c42350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247c42390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247c423c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247c423f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247c42430 bufwrite() at bufwrite+0x125/frame 0xffffff8247c42460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247c42510 cluster_write() at cluster_write+0x66d/frame 0xffffff8247c42620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247c426c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247c427d0 vn_write() at vn_write+0x281/frame 0xffffff8247c42860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247c429f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247c42a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247c42a80 sys_write() at sys_write+0x64/frame 0xffffff8247c42ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247c42bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247c42bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1687 tid 100290 td 0xfffffe01392b9900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247bd9840 mi_switch() at mi_switch+0x238/frame 0xffffff8247bd9890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247bd98d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247bd9930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247bd9960 _sleep() at _sleep+0x3c3/frame 0xffffff8247bd99f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247bd9a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247bd9ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247bd9bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247bd9bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1686 tid 100269 td 0xfffffe01167ad480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b70110 mi_switch() at mi_switch+0x238/frame 0xffffff8247b70160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b701a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247b701d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247b702b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247b70350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247b70390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247b703c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247b703f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247b70430 bufwrite() at bufwrite+0x125/frame 0xffffff8247b70460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247b70510 cluster_write() at cluster_write+0x332/frame 0xffffff8247b70620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247b706c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247b707d0 vn_write() at vn_write+0x281/frame 0xffffff8247b70860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247b709f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247b70a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247b70a80 sys_write() at sys_write+0x64/frame 0xffffff8247b70ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b70bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b70bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1685 tid 100107 td 0xfffffe0008f37900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247846840 mi_switch() at mi_switch+0x238/frame 0xffffff8247846890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478468d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247846930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247846960 _sleep() at _sleep+0x3c3/frame 0xffffff82478469f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247846a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247846ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247846bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247846bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1684 tid 100296 td 0xfffffe0139326480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247bf7110 mi_switch() at mi_switch+0x238/frame 0xffffff8247bf7160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247bf71a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247bf71d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247bf72b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247bf7350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247bf7390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247bf73c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247bf73f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247bf7430 bufwrite() at bufwrite+0x125/frame 0xffffff8247bf7460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247bf7510 cluster_write() at cluster_write+0x332/frame 0xffffff8247bf7620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247bf76c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247bf77d0 vn_write() at vn_write+0x281/frame 0xffffff8247bf7860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247bf79f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247bf7a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247bf7a80 sys_write() at sys_write+0x64/frame 0xffffff8247bf7ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247bf7bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247bf7bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1683 tid 100104 td 0xfffffe000b175900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247837840 mi_switch() at mi_switch+0x238/frame 0xffffff8247837890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478378d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247837930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247837960 _sleep() at _sleep+0x3c3/frame 0xffffff82478379f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247837a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247837ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247837bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247837bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1682 tid 100250 td 0xfffffe01167b1480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b11060 mi_switch() at mi_switch+0x238/frame 0xffffff8247b110b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b110f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247b11120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247b11200 getblk() at getblk+0x11f/frame 0xffffff8247b11290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247b112e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247b11390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247b113e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247b11450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247b11620 ffs_write() at ffs_write+0x227/frame 0xffffff8247b116c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247b117d0 vn_write() at vn_write+0x281/frame 0xffffff8247b11860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247b119f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247b11a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247b11a80 sys_write() at sys_write+0x64/frame 0xffffff8247b11ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b11bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b11bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1681 tid 100125 td 0xfffffe0008f3a900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478a0840 mi_switch() at mi_switch+0x238/frame 0xffffff82478a0890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478a08d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478a0930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82478a0960 _sleep() at _sleep+0x3c3/frame 0xffffff82478a09f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82478a0a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82478a0ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82478a0bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82478a0bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1680 tid 100222 td 0xfffffe0116265000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a85110 mi_switch() at mi_switch+0x238/frame 0xffffff8247a85160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a851a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a851d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a852b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247a85350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247a85390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247a853c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247a853f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247a85430 bufwrite() at bufwrite+0x125/frame 0xffffff8247a85460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247a85510 cluster_write() at cluster_write+0x66d/frame 0xffffff8247a85620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a856c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a857d0 vn_write() at vn_write+0x281/frame 0xffffff8247a85860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a859f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a85a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a85a80 sys_write() at sys_write+0x64/frame 0xffffff8247a85ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a85bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a85bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1679 tid 100108 td 0xfffffe0008f37480 kdb_enter() at kdb_enter+0x3b/frame 0xffffff824784ae40 vpanic() at vpanic+0xe1/frame 0xffffff824784ae80 kassert_panic() at kassert_panic+0xd3/frame 0xffffff824784af70 bremfree() at bremfree+0xab/frame 0xffffff824784af90 getblk() at getblk+0x2f5/frame 0xffffff824784b020 breadn_flags() at breadn_flags+0x40/frame 0xffffff824784b070 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff824784b120 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff824784b170 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff824784b1e0 ffs_balloc_ufs2() at ffs_balloc_ufs2+0x11ef/frame 0xffffff824784b3b0 ffs_copyonwrite() at ffs_copyonwrite+0x3e8/frame 0xffffff824784b450 ffs_geom_strategy() at ffs_geom_strategy+0x1cb/frame 0xffffff824784b490 bufwrite() at bufwrite+0x125/frame 0xffffff824784b4c0 ffs_nodealloccg() at ffs_nodealloccg+0x4e0/frame 0xffffff824784b560 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff824784b5b0 ffs_valloc() at ffs_valloc+0xa0/frame 0xffffff824784b650 ufs_makeinode() at ufs_makeinode+0xaf/frame 0xffffff824784b810 VOP_CREATE_APV() at VOP_CREATE_APV+0xc6/frame 0xffffff824784b840 vn_open_cred() at vn_open_cred+0x2be/frame 0xffffff824784b990 kern_openat() at kern_openat+0x20e/frame 0xffffff824784bad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824784bbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824784bbf0 --- syscall (5, FreeBSD ELF32, sys_open), rip = 0x28189dcf, rsp = 0xffffc688, rbp = 0xffffc6a4 --- Tracing command rw pid 1678 tid 100223 td 0xfffffe0116264900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a8a110 mi_switch() at mi_switch+0x238/frame 0xffffff8247a8a160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a8a1a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a8a1d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a8a2b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247a8a350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247a8a390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247a8a3c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247a8a3f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247a8a430 bufwrite() at bufwrite+0x125/frame 0xffffff8247a8a460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247a8a510 cluster_write() at cluster_write+0x66d/frame 0xffffff8247a8a620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a8a6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a8a7d0 vn_write() at vn_write+0x281/frame 0xffffff8247a8a860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a8a9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a8aa40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a8aa80 sys_write() at sys_write+0x64/frame 0xffffff8247a8aad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a8abf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a8abf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1677 tid 100156 td 0xfffffe000bd49000 sched_switch() at sched_switch+0x1b4/frame 0xffffff824793b840 mi_switch() at mi_switch+0x238/frame 0xffffff824793b890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824793b8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824793b930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824793b960 _sleep() at _sleep+0x3c3/frame 0xffffff824793b9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824793ba60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824793bad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824793bbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824793bbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1676 tid 100224 td 0xfffffe0116264480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a8f110 mi_switch() at mi_switch+0x238/frame 0xffffff8247a8f160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a8f1a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a8f1d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a8f2b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247a8f350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247a8f390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247a8f3c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247a8f3f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247a8f430 bufwrite() at bufwrite+0x125/frame 0xffffff8247a8f460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247a8f510 cluster_write() at cluster_write+0x332/frame 0xffffff8247a8f620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a8f6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a8f7d0 vn_write() at vn_write+0x281/frame 0xffffff8247a8f860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a8f9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a8fa40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a8fa80 sys_write() at sys_write+0x64/frame 0xffffff8247a8fad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a8fbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a8fbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1675 tid 100153 td 0xfffffe000b5d2900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824792c840 mi_switch() at mi_switch+0x238/frame 0xffffff824792c890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824792c8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824792c930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824792c960 _sleep() at _sleep+0x3c3/frame 0xffffff824792c9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824792ca60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824792cad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824792cbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824792cbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1674 tid 100218 td 0xfffffe0116495000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a71110 mi_switch() at mi_switch+0x238/frame 0xffffff8247a71160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a711a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a711d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a712b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247a71350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247a71390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247a713c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247a713f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247a71430 bufwrite() at bufwrite+0x125/frame 0xffffff8247a71460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247a71510 cluster_write() at cluster_write+0x66d/frame 0xffffff8247a71620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a716c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a717d0 vn_write() at vn_write+0x281/frame 0xffffff8247a71860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a719f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a71a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a71a80 sys_write() at sys_write+0x64/frame 0xffffff8247a71ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a71bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a71bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1673 tid 100185 td 0xfffffe0116269000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479cc840 mi_switch() at mi_switch+0x238/frame 0xffffff82479cc890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479cc8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479cc930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479cc960 _sleep() at _sleep+0x3c3/frame 0xffffff82479cc9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479cca60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479ccad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479ccbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479ccbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1672 tid 100219 td 0xfffffe011626a900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a76110 mi_switch() at mi_switch+0x238/frame 0xffffff8247a76160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a761a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a761d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a762b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247a76350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247a76390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff8247a763c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff8247a763f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247a76430 bufwrite() at bufwrite+0x125/frame 0xffffff8247a76460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247a76510 cluster_write() at cluster_write+0x332/frame 0xffffff8247a76620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a766c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a767d0 vn_write() at vn_write+0x281/frame 0xffffff8247a76860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a769f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a76a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a76a80 sys_write() at sys_write+0x64/frame 0xffffff8247a76ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a76bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a76bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1671 tid 100189 td 0xfffffe0116267900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479e0840 mi_switch() at mi_switch+0x238/frame 0xffffff82479e0890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479e08d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479e0930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479e0960 _sleep() at _sleep+0x3c3/frame 0xffffff82479e09f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479e0a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479e0ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479e0bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479e0bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1670 tid 100145 td 0xfffffe000bce0480 cpustop_handler() at cpustop_handler+0x2c/frame 0xffffff800023ed00 ipi_nmi_handler() at ipi_nmi_handler+0x3d/frame 0xffffff800023ed20 trap() at trap+0x325/frame 0xffffff800023ef20 nmi_calltrap() at nmi_calltrap+0x8/frame 0xffffff800023ef20 --- trap 0x13, rip = 0xffffffff80b371fc, rsp = 0xffffff800023efe0, rbp = 0xffffff82479046c0 --- ffs_write() at ffs_write+0x39c/frame 0xffffff82479046c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82479047d0 vn_write() at vn_write+0x281/frame 0xffffff8247904860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82479049f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247904a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247904a80 sys_write() at sys_write+0x64/frame 0xffffff8247904ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247904bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247904bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1669 tid 100190 td 0xfffffe0116267480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479e5840 mi_switch() at mi_switch+0x238/frame 0xffffff82479e5890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479e58d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479e5930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479e5960 _sleep() at _sleep+0x3c3/frame 0xffffff82479e59f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479e5a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479e5ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479e5bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479e5bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1668 tid 100122 td 0xfffffe000b109900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247891110 mi_switch() at mi_switch+0x238/frame 0xffffff8247891160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478911a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82478911d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82478912b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247891350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247891390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff82478913c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff82478913f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247891430 bufwrite() at bufwrite+0x125/frame 0xffffff8247891460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247891510 cluster_write() at cluster_write+0x66d/frame 0xffffff8247891620 ffs_write() at ffs_write+0x5fe/frame 0xffffff82478916c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82478917d0 vn_write() at vn_write+0x281/frame 0xffffff8247891860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82478919f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247891a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247891a80 sys_write() at sys_write+0x64/frame 0xffffff8247891ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247891bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247891bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1667 tid 100144 td 0xfffffe000bce0900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478ff840 mi_switch() at mi_switch+0x238/frame 0xffffff82478ff890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478ff8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478ff930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82478ff960 _sleep() at _sleep+0x3c3/frame 0xffffff82478ff9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82478ffa60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82478ffad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82478ffbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82478ffbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1666 tid 100191 td 0xfffffe0116267000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479ea110 mi_switch() at mi_switch+0x238/frame 0xffffff82479ea160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479ea1a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82479ea1d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82479ea2b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff82479ea350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff82479ea390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff82479ea3c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff82479ea3f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff82479ea430 bufwrite() at bufwrite+0x125/frame 0xffffff82479ea460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff82479ea510 cluster_write() at cluster_write+0x66d/frame 0xffffff82479ea620 ffs_write() at ffs_write+0x5fe/frame 0xffffff82479ea6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82479ea7d0 vn_write() at vn_write+0x281/frame 0xffffff82479ea860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82479ea9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff82479eaa40 kern_writev() at kern_writev+0x6c/frame 0xffffff82479eaa80 sys_write() at sys_write+0x64/frame 0xffffff82479eaad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479eabf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479eabf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1665 tid 100160 td 0xfffffe000b174900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824794f840 mi_switch() at mi_switch+0x238/frame 0xffffff824794f890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824794f8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824794f930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824794f960 _sleep() at _sleep+0x3c3/frame 0xffffff824794f9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824794fa60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824794fad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824794fbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824794fbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1664 tid 100192 td 0xfffffe0116265900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479ef110 mi_switch() at mi_switch+0x238/frame 0xffffff82479ef160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479ef1a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82479ef1d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82479ef2b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff82479ef350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff82479ef390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff82479ef3c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff82479ef3f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff82479ef430 bufwrite() at bufwrite+0x125/frame 0xffffff82479ef460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff82479ef510 cluster_write() at cluster_write+0x66d/frame 0xffffff82479ef620 ffs_write() at ffs_write+0x5fe/frame 0xffffff82479ef6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82479ef7d0 vn_write() at vn_write+0x281/frame 0xffffff82479ef860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82479ef9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff82479efa40 kern_writev() at kern_writev+0x6c/frame 0xffffff82479efa80 sys_write() at sys_write+0x64/frame 0xffffff82479efad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479efbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479efbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1663 tid 100161 td 0xfffffe000b174480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247954840 mi_switch() at mi_switch+0x238/frame 0xffffff8247954890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479548d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247954930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247954960 _sleep() at _sleep+0x3c3/frame 0xffffff82479549f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247954a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247954ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247954bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247954bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1662 tid 100093 td 0xfffffe000b226480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247800110 mi_switch() at mi_switch+0x238/frame 0xffffff8247800160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478001a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82478001d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82478002b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff8247800350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff8247800390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff82478003c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff82478003f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff8247800430 bufwrite() at bufwrite+0x125/frame 0xffffff8247800460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff8247800510 cluster_write() at cluster_write+0x332/frame 0xffffff8247800620 ffs_write() at ffs_write+0x5fe/frame 0xffffff82478006c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82478007d0 vn_write() at vn_write+0x281/frame 0xffffff8247800860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82478009f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247800a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247800a80 sys_write() at sys_write+0x64/frame 0xffffff8247800ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247800bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247800bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1661 tid 100162 td 0xfffffe000b174000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247959240 mi_switch() at mi_switch+0x238/frame 0xffffff8247959290 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479592d0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247959300 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82479593e0 getblk() at getblk+0x11f/frame 0xffffff8247959470 breadn_flags() at breadn_flags+0x40/frame 0xffffff82479594c0 ffs_nodealloccg() at ffs_nodealloccg+0x10c/frame 0xffffff8247959560 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff82479595b0 ffs_valloc() at ffs_valloc+0xa0/frame 0xffffff8247959650 ufs_makeinode() at ufs_makeinode+0xaf/frame 0xffffff8247959810 VOP_CREATE_APV() at VOP_CREATE_APV+0xc6/frame 0xffffff8247959840 vn_open_cred() at vn_open_cred+0x2be/frame 0xffffff8247959990 kern_openat() at kern_openat+0x20e/frame 0xffffff8247959ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247959bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247959bf0 --- syscall (5, FreeBSD ELF32, sys_open), rip = 0x28189dcf, rsp = 0xffffc688, rbp = 0xffffc6a4 --- Tracing command rw pid 1660 tid 100134 td 0xfffffe000b409480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478cd060 mi_switch() at mi_switch+0x238/frame 0xffffff82478cd0b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478cd0f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82478cd120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82478cd200 getblk() at getblk+0x11f/frame 0xffffff82478cd290 breadn_flags() at breadn_flags+0x40/frame 0xffffff82478cd2e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff82478cd390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff82478cd3e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff82478cd450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff82478cd620 ffs_write() at ffs_write+0x227/frame 0xffffff82478cd6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82478cd7d0 vn_write() at vn_write+0x281/frame 0xffffff82478cd860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82478cd9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff82478cda40 kern_writev() at kern_writev+0x6c/frame 0xffffff82478cda80 sys_write() at sys_write+0x64/frame 0xffffff82478cdad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82478cdbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82478cdbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1659 tid 100163 td 0xfffffe000b16e900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824795e840 mi_switch() at mi_switch+0x238/frame 0xffffff824795e890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824795e8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824795e930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824795e960 _sleep() at _sleep+0x3c3/frame 0xffffff824795e9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824795ea60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824795ead0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824795ebf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824795ebf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1658 tid 100087 td 0xfffffe000b10e480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477e2110 mi_switch() at mi_switch+0x238/frame 0xffffff82477e2160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477e21a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82477e21d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82477e22b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff82477e2350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff82477e2390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff82477e23c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff82477e23f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff82477e2430 bufwrite() at bufwrite+0x125/frame 0xffffff82477e2460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff82477e2510 cluster_write() at cluster_write+0x66d/frame 0xffffff82477e2620 ffs_write() at ffs_write+0x5fe/frame 0xffffff82477e26c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82477e27d0 vn_write() at vn_write+0x281/frame 0xffffff82477e2860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82477e29f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff82477e2a40 kern_writev() at kern_writev+0x6c/frame 0xffffff82477e2a80 sys_write() at sys_write+0x64/frame 0xffffff82477e2ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82477e2bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82477e2bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1657 tid 100164 td 0xfffffe000b16e480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247963840 mi_switch() at mi_switch+0x238/frame 0xffffff8247963890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479638d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247963930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247963960 _sleep() at _sleep+0x3c3/frame 0xffffff82479639f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247963a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247963ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247963bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247963bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1656 tid 100101 td 0xfffffe000b10d000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247828060 mi_switch() at mi_switch+0x238/frame 0xffffff82478280b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478280f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247828120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247828200 getblk() at getblk+0x11f/frame 0xffffff8247828290 breadn_flags() at breadn_flags+0x40/frame 0xffffff82478282e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247828390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff82478283e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247828450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247828620 ffs_write() at ffs_write+0x227/frame 0xffffff82478286c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82478287d0 vn_write() at vn_write+0x281/frame 0xffffff8247828860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82478289f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247828a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247828a80 sys_write() at sys_write+0x64/frame 0xffffff8247828ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247828bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247828bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1655 tid 100165 td 0xfffffe000b16e000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247968840 mi_switch() at mi_switch+0x238/frame 0xffffff8247968890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479688d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247968930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247968960 _sleep() at _sleep+0x3c3/frame 0xffffff82479689f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247968a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247968ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247968bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247968bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1654 tid 100130 td 0xfffffe000b7b2900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478b9060 mi_switch() at mi_switch+0x238/frame 0xffffff82478b90b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478b90f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82478b9120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82478b9200 getblk() at getblk+0x11f/frame 0xffffff82478b9290 breadn_flags() at breadn_flags+0x40/frame 0xffffff82478b92e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff82478b9390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff82478b93e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff82478b9450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0x11ef/frame 0xffffff82478b9620 ffs_write() at ffs_write+0x227/frame 0xffffff82478b96c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82478b97d0 vn_write() at vn_write+0x281/frame 0xffffff82478b9860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82478b99f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff82478b9a40 kern_writev() at kern_writev+0x6c/frame 0xffffff82478b9a80 sys_write() at sys_write+0x64/frame 0xffffff82478b9ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82478b9bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82478b9bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1653 tid 100166 td 0xfffffe011615e900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824796d840 mi_switch() at mi_switch+0x238/frame 0xffffff824796d890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824796d8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824796d930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824796d960 _sleep() at _sleep+0x3c3/frame 0xffffff824796d9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824796da60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824796dad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824796dbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824796dbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1652 tid 100141 td 0xfffffe000b228900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478f0110 mi_switch() at mi_switch+0x238/frame 0xffffff82478f0160 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478f01a0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82478f01d0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82478f02b0 ffs_copyonwrite() at ffs_copyonwrite+0x199/frame 0xffffff82478f0350 ffs_geom_strategy() at ffs_geom_strategy+0x12f/frame 0xffffff82478f0390 ufs_strategy() at ufs_strategy+0x45/frame 0xffffff82478f03c0 VOP_STRATEGY_APV() at VOP_STRATEGY_APV+0xd1/frame 0xffffff82478f03f0 bufstrategy() at bufstrategy+0x4b/frame 0xffffff82478f0430 bufwrite() at bufwrite+0x125/frame 0xffffff82478f0460 cluster_wbuild() at cluster_wbuild+0x566/frame 0xffffff82478f0510 cluster_write() at cluster_write+0x66d/frame 0xffffff82478f0620 ffs_write() at ffs_write+0x5fe/frame 0xffffff82478f06c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82478f07d0 vn_write() at vn_write+0x281/frame 0xffffff82478f0860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82478f09f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff82478f0a40 kern_writev() at kern_writev+0x6c/frame 0xffffff82478f0a80 sys_write() at sys_write+0x64/frame 0xffffff82478f0ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82478f0bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82478f0bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1651 tid 100167 td 0xfffffe011615e480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247972840 mi_switch() at mi_switch+0x238/frame 0xffffff8247972890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479728d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247972930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247972960 _sleep() at _sleep+0x3c3/frame 0xffffff82479729f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247972a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247972ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247972bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247972bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1650 tid 100268 td 0xfffffe01167ad900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b6b060 mi_switch() at mi_switch+0x238/frame 0xffffff8247b6b0b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b6b0f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247b6b120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247b6b200 getblk() at getblk+0x11f/frame 0xffffff8247b6b290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247b6b2e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247b6b390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247b6b3e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247b6b450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247b6b620 ffs_write() at ffs_write+0x227/frame 0xffffff8247b6b6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247b6b7d0 vn_write() at vn_write+0x281/frame 0xffffff8247b6b860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247b6b9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247b6ba40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247b6ba80 sys_write() at sys_write+0x64/frame 0xffffff8247b6bad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b6bbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b6bbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1649 tid 100168 td 0xfffffe011615e000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247977840 mi_switch() at mi_switch+0x238/frame 0xffffff8247977890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479778d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247977930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247977960 _sleep() at _sleep+0x3c3/frame 0xffffff82479779f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247977a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247977ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247977bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247977bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1648 tid 100280 td 0xfffffe01167ab480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247ba7060 mi_switch() at mi_switch+0x238/frame 0xffffff8247ba70b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247ba70f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247ba7120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247ba7200 getblk() at getblk+0x11f/frame 0xffffff8247ba7290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247ba72e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247ba7390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247ba73e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247ba7450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247ba7620 ffs_write() at ffs_write+0x227/frame 0xffffff8247ba76c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247ba77d0 vn_write() at vn_write+0x281/frame 0xffffff8247ba7860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247ba79f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247ba7a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247ba7a80 sys_write() at sys_write+0x64/frame 0xffffff8247ba7ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247ba7bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247ba7bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1647 tid 100169 td 0xfffffe011615b900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824797c840 mi_switch() at mi_switch+0x238/frame 0xffffff824797c890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824797c8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824797c930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824797c960 _sleep() at _sleep+0x3c3/frame 0xffffff824797c9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824797ca60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824797cad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824797cbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824797cbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1646 tid 100308 td 0xfffffe000bd43000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247c33060 mi_switch() at mi_switch+0x238/frame 0xffffff8247c330b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247c330f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247c33120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247c33200 getblk() at getblk+0x11f/frame 0xffffff8247c33290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247c332e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247c33390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247c333e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247c33450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247c33620 ffs_write() at ffs_write+0x227/frame 0xffffff8247c336c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247c337d0 vn_write() at vn_write+0x281/frame 0xffffff8247c33860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247c339f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247c33a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247c33a80 sys_write() at sys_write+0x64/frame 0xffffff8247c33ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247c33bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247c33bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1645 tid 100170 td 0xfffffe011615b480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247981840 mi_switch() at mi_switch+0x238/frame 0xffffff8247981890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479818d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247981930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247981960 _sleep() at _sleep+0x3c3/frame 0xffffff82479819f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247981a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247981ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247981bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247981bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1644 tid 100297 td 0xfffffe0116bdb000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247bfc060 mi_switch() at mi_switch+0x238/frame 0xffffff8247bfc0b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247bfc0f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247bfc120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247bfc200 getblk() at getblk+0x11f/frame 0xffffff8247bfc290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247bfc2e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247bfc390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247bfc3e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247bfc450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247bfc620 ffs_write() at ffs_write+0x227/frame 0xffffff8247bfc6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247bfc7d0 vn_write() at vn_write+0x281/frame 0xffffff8247bfc860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247bfc9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247bfca40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247bfca80 sys_write() at sys_write+0x64/frame 0xffffff8247bfcad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247bfcbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247bfcbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1643 tid 100171 td 0xfffffe011615b000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247986240 mi_switch() at mi_switch+0x238/frame 0xffffff8247986290 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479862d0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247986300 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82479863e0 getblk() at getblk+0x11f/frame 0xffffff8247986470 breadn_flags() at breadn_flags+0x40/frame 0xffffff82479864c0 ffs_nodealloccg() at ffs_nodealloccg+0x10c/frame 0xffffff8247986560 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff82479865b0 ffs_valloc() at ffs_valloc+0xa0/frame 0xffffff8247986650 ufs_makeinode() at ufs_makeinode+0xaf/frame 0xffffff8247986810 VOP_CREATE_APV() at VOP_CREATE_APV+0xc6/frame 0xffffff8247986840 vn_open_cred() at vn_open_cred+0x2be/frame 0xffffff8247986990 kern_openat() at kern_openat+0x20e/frame 0xffffff8247986ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247986bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247986bf0 --- syscall (5, FreeBSD ELF32, sys_open), rip = 0x28189dcf, rsp = 0xffffc688, rbp = 0xffffc6a4 --- Tracing command rw pid 1642 tid 100304 td 0xfffffe0116bda000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247c1eeb0 mi_switch() at mi_switch+0x238/frame 0xffffff8247c1ef00 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247c1ef40 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247c1ef70 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247c1f050 getblk() at getblk+0x11f/frame 0xffffff8247c1f0e0 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247c1f130 ffs_blkfree_cg() at ffs_blkfree_cg+0x124/frame 0xffffff8247c1f210 ffs_blkfree() at ffs_blkfree+0x141/frame 0xffffff8247c1f270 handle_workitem_freefrag() at handle_workitem_freefrag+0xd9/frame 0xffffff8247c1f2c0 softdep_setup_allocindir_page() at softdep_setup_allocindir_page+0x103/frame 0xffffff8247c1f320 ffs_reallocblks() at ffs_reallocblks+0x48f/frame 0xffffff8247c1f4e0 VOP_REALLOCBLKS_APV() at VOP_REALLOCBLKS_APV+0xc9/frame 0xffffff8247c1f510 cluster_write() at cluster_write+0x530/frame 0xffffff8247c1f620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247c1f6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247c1f7d0 vn_write() at vn_write+0x281/frame 0xffffff8247c1f860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247c1f9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247c1fa40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247c1fa80 sys_write() at sys_write+0x64/frame 0xffffff8247c1fad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247c1fbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247c1fbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1641 tid 100194 td 0xfffffe000bd17480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479f9840 mi_switch() at mi_switch+0x238/frame 0xffffff82479f9890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479f98d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479f9930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479f9960 _sleep() at _sleep+0x3c3/frame 0xffffff82479f99f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479f9a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479f9ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479f9bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479f9bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1640 tid 100271 td 0xfffffe0116bdb900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b79fd0 mi_switch() at mi_switch+0x238/frame 0xffffff8247b7a020 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b7a060 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247b7a090 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247b7a170 getblk() at getblk+0x11f/frame 0xffffff8247b7a200 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247b7a250 ffs_blkfree_cg() at ffs_blkfree_cg+0x124/frame 0xffffff8247b7a330 ffs_blkfree() at ffs_blkfree+0x141/frame 0xffffff8247b7a390 indir_trunc() at indir_trunc+0x461/frame 0xffffff8247b7a4a0 handle_workitem_freeblocks() at handle_workitem_freeblocks+0x1ad/frame 0xffffff8247b7a500 softdep_setup_freeblocks() at softdep_setup_freeblocks+0x917/frame 0xffffff8247b7a590 ffs_truncate() at ffs_truncate+0x58d/frame 0xffffff8247b7a7e0 ufs_inactive() at ufs_inactive+0x28c/frame 0xffffff8247b7a820 VOP_INACTIVE_APV() at VOP_INACTIVE_APV+0xc9/frame 0xffffff8247b7a850 vinactive() at vinactive+0xb2/frame 0xffffff8247b7a8b0 vputx() at vputx+0x375/frame 0xffffff8247b7a910 kern_unlinkat() at kern_unlinkat+0x19c/frame 0xffffff8247b7aad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247b7abf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247b7abf0 --- syscall (10, FreeBSD ELF32, sys_unlink), rip = 0x2817f9db, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1639 tid 100287 td 0xfffffe0116d02900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247bca840 mi_switch() at mi_switch+0x238/frame 0xffffff8247bca890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247bca8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247bca930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247bca960 _sleep() at _sleep+0x3c3/frame 0xffffff8247bca9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247bcaa60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247bcaad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247bcabf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247bcabf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1638 tid 100172 td 0xfffffe011615a900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824798b0b0 mi_switch() at mi_switch+0x238/frame 0xffffff824798b100 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824798b140 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff824798b170 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff824798b250 getblk() at getblk+0x11f/frame 0xffffff824798b2e0 breadn_flags() at breadn_flags+0x40/frame 0xffffff824798b330 ffs_realloccg() at ffs_realloccg+0x652/frame 0xffffff824798b450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0x111e/frame 0xffffff824798b620 ffs_write() at ffs_write+0x227/frame 0xffffff824798b6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff824798b7d0 vn_write() at vn_write+0x281/frame 0xffffff824798b860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff824798b9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff824798ba40 kern_writev() at kern_writev+0x6c/frame 0xffffff824798ba80 sys_write() at sys_write+0x64/frame 0xffffff824798bad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824798bbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824798bbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command rw pid 1637 tid 100195 td 0xfffffe000bd17000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479fdeb0 mi_switch() at mi_switch+0x238/frame 0xffffff82479fdf00 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479fdf40 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82479fdf70 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff82479fe050 getblk() at getblk+0x11f/frame 0xffffff82479fe0e0 breadn_flags() at breadn_flags+0x40/frame 0xffffff82479fe130 ffs_blkfree_cg() at ffs_blkfree_cg+0x124/frame 0xffffff82479fe210 ffs_blkfree() at ffs_blkfree+0x141/frame 0xffffff82479fe270 handle_workitem_freefrag() at handle_workitem_freefrag+0xd9/frame 0xffffff82479fe2c0 softdep_setup_allocindir_page() at softdep_setup_allocindir_page+0x103/frame 0xffffff82479fe320 ffs_reallocblks() at ffs_reallocblks+0x48f/frame 0xffffff82479fe4e0 VOP_REALLOCBLKS_APV() at VOP_REALLOCBLKS_APV+0xc9/frame 0xffffff82479fe510 cluster_write() at cluster_write+0x530/frame 0xffffff82479fe620 ffs_write() at ffs_write+0x5fe/frame 0xffffff82479fe6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff82479fe7d0 vn_write() at vn_write+0x281/frame 0xffffff82479fe860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff82479fe9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff82479fea40 kern_writev() at kern_writev+0x6c/frame 0xffffff82479fea80 sys_write() at sys_write+0x64/frame 0xffffff82479fead0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479febf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479febf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1636 tid 100173 td 0xfffffe011615a480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247990840 mi_switch() at mi_switch+0x238/frame 0xffffff8247990890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479908d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247990930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247990960 _sleep() at _sleep+0x3c3/frame 0xffffff82479909f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247990a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247990ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247990bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247990bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1635 tid 100196 td 0xfffffe000bd16900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a02eb0 mi_switch() at mi_switch+0x238/frame 0xffffff8247a02f00 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a02f40 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a02f70 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a03050 getblk() at getblk+0x11f/frame 0xffffff8247a030e0 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247a03130 ffs_blkfree_cg() at ffs_blkfree_cg+0x124/frame 0xffffff8247a03210 ffs_blkfree() at ffs_blkfree+0x141/frame 0xffffff8247a03270 handle_workitem_freefrag() at handle_workitem_freefrag+0xd9/frame 0xffffff8247a032c0 softdep_setup_allocindir_page() at softdep_setup_allocindir_page+0x103/frame 0xffffff8247a03320 ffs_reallocblks() at ffs_reallocblks+0x48f/frame 0xffffff8247a034e0 VOP_REALLOCBLKS_APV() at VOP_REALLOCBLKS_APV+0xc9/frame 0xffffff8247a03510 cluster_write() at cluster_write+0x530/frame 0xffffff8247a03620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a036c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a037d0 vn_write() at vn_write+0x281/frame 0xffffff8247a03860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a039f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a03a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a03a80 sys_write() at sys_write+0x64/frame 0xffffff8247a03ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a03bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a03bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1634 tid 100174 td 0xfffffe011615a000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247995840 mi_switch() at mi_switch+0x238/frame 0xffffff8247995890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479958d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247995930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247995960 _sleep() at _sleep+0x3c3/frame 0xffffff82479959f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247995a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff8247995ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247995bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247995bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command creat pid 1633 tid 100175 td 0xfffffe0116159900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824799a840 mi_switch() at mi_switch+0x238/frame 0xffffff824799a890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824799a8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824799a930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824799a960 _sleep() at _sleep+0x3c3/frame 0xffffff824799a9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824799aa60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824799aad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824799abf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824799abf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1632 tid 100197 td 0xfffffe000bd16480 cpustop_handler() at cpustop_handler+0x2c/frame 0xffffff8000245d00 ipi_nmi_handler() at ipi_nmi_handler+0x3d/frame 0xffffff8000245d20 trap() at trap+0x325/frame 0xffffff8000245f20 nmi_calltrap() at nmi_calltrap+0x8/frame 0xffffff8000245f20 --- trap 0x13, rip = 0xffffffff80930184, rsp = 0xffffff8000245fe0, rbp = 0xffffff8247a087f0 --- witness_unlock() at witness_unlock+0x4/frame 0xffffff8247a087f0 __mtx_unlock_flags() at __mtx_unlock_flags+0x99/frame 0xffffff8247a08830 rangelock_unlock_locked() at rangelock_unlock_locked+0xa6/frame 0xffffff8247a08860 vn_io_fault() at vn_io_fault+0x1c6/frame 0xffffff8247a089f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a08a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a08a80 sys_write() at sys_write+0x64/frame 0xffffff8247a08ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a08bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a08bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1631 tid 100176 td 0xfffffe0116159480 sched_switch() at sched_switch+0x1b4/frame 0xffffff824799f840 mi_switch() at mi_switch+0x238/frame 0xffffff824799f890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824799f8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824799f930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824799f960 _sleep() at _sleep+0x3c3/frame 0xffffff824799f9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824799fa60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824799fad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824799fbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824799fbf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1630 tid 100198 td 0xfffffe000bd16000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a0d060 mi_switch() at mi_switch+0x238/frame 0xffffff8247a0d0b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a0d0f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a0d120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a0d200 getblk() at getblk+0x11f/frame 0xffffff8247a0d290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247a0d2e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247a0d390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247a0d3e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247a0d450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247a0d620 ffs_write() at ffs_write+0x227/frame 0xffffff8247a0d6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a0d7d0 vn_write() at vn_write+0x281/frame 0xffffff8247a0d860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a0d9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a0da40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a0da80 sys_write() at sys_write+0x64/frame 0xffffff8247a0dad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a0dbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a0dbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1629 tid 100177 td 0xfffffe0116159000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479a4840 mi_switch() at mi_switch+0x238/frame 0xffffff82479a4890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479a48d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479a4930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479a4960 _sleep() at _sleep+0x3c3/frame 0xffffff82479a49f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479a4a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479a4ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479a4bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479a4bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1628 tid 100199 td 0xfffffe000bd15900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a11fc0 mi_switch() at mi_switch+0x238/frame 0xffffff8247a12010 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a12050 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a12080 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a12160 ffs_snapblkfree() at ffs_snapblkfree+0xaa/frame 0xffffff8247a12210 ffs_blkfree() at ffs_blkfree+0x179/frame 0xffffff8247a12270 handle_workitem_freefrag() at handle_workitem_freefrag+0xd9/frame 0xffffff8247a122c0 softdep_setup_allocindir_page() at softdep_setup_allocindir_page+0x103/frame 0xffffff8247a12320 ffs_reallocblks() at ffs_reallocblks+0x48f/frame 0xffffff8247a124e0 VOP_REALLOCBLKS_APV() at VOP_REALLOCBLKS_APV+0xc9/frame 0xffffff8247a12510 cluster_write() at cluster_write+0x530/frame 0xffffff8247a12620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a126c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a127d0 vn_write() at vn_write+0x281/frame 0xffffff8247a12860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a129f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a12a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a12a80 sys_write() at sys_write+0x64/frame 0xffffff8247a12ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a12bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a12bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1627 tid 100178 td 0xfffffe0116158900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479a9840 mi_switch() at mi_switch+0x238/frame 0xffffff82479a9890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479a98d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479a9930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479a9960 _sleep() at _sleep+0x3c3/frame 0xffffff82479a99f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479a9a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479a9ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479a9bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479a9bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1626 tid 100200 td 0xfffffe000bd15480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a16eb0 mi_switch() at mi_switch+0x238/frame 0xffffff8247a16f00 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a16f40 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a16f70 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a17050 getblk() at getblk+0x11f/frame 0xffffff8247a170e0 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247a17130 ffs_blkfree_cg() at ffs_blkfree_cg+0x124/frame 0xffffff8247a17210 ffs_blkfree() at ffs_blkfree+0x141/frame 0xffffff8247a17270 handle_workitem_freefrag() at handle_workitem_freefrag+0xd9/frame 0xffffff8247a172c0 softdep_setup_allocindir_page() at softdep_setup_allocindir_page+0x103/frame 0xffffff8247a17320 ffs_reallocblks() at ffs_reallocblks+0x48f/frame 0xffffff8247a174e0 VOP_REALLOCBLKS_APV() at VOP_REALLOCBLKS_APV+0xc9/frame 0xffffff8247a17510 cluster_write() at cluster_write+0x530/frame 0xffffff8247a17620 ffs_write() at ffs_write+0x5fe/frame 0xffffff8247a176c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a177d0 vn_write() at vn_write+0x281/frame 0xffffff8247a17860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a179f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a17a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a17a80 sys_write() at sys_write+0x64/frame 0xffffff8247a17ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a17bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a17bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1625 tid 100179 td 0xfffffe0116158480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479ae840 mi_switch() at mi_switch+0x238/frame 0xffffff82479ae890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479ae8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479ae930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82479ae960 _sleep() at _sleep+0x3c3/frame 0xffffff82479ae9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82479aea60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82479aead0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479aebf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479aebf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1624 tid 100201 td 0xfffffe000bd15000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247a1c060 mi_switch() at mi_switch+0x238/frame 0xffffff8247a1c0b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247a1c0f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247a1c120 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8247a1c200 getblk() at getblk+0x11f/frame 0xffffff8247a1c290 breadn_flags() at breadn_flags+0x40/frame 0xffffff8247a1c2e0 ffs_alloccg() at ffs_alloccg+0x112/frame 0xffffff8247a1c390 ffs_hashalloc() at ffs_hashalloc+0x72/frame 0xffffff8247a1c3e0 ffs_alloc() at ffs_alloc+0xd0/frame 0xffffff8247a1c450 ffs_balloc_ufs2() at ffs_balloc_ufs2+0xa72/frame 0xffffff8247a1c620 ffs_write() at ffs_write+0x227/frame 0xffffff8247a1c6c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a1c7d0 vn_write() at vn_write+0x281/frame 0xffffff8247a1c860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a1c9f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a1ca40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a1ca80 sys_write() at sys_write+0x64/frame 0xffffff8247a1cad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a1cbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a1cbf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command creat pid 1623 tid 100152 td 0xfffffe000b7b6000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247927630 mi_switch() at mi_switch+0x238/frame 0xffffff8247927680 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479276c0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247927720 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247927740 _sleep() at _sleep+0x37d/frame 0xffffff82479277d0 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff8247927870 kern_wait() at kern_wait+0x9c/frame 0xffffff82479279d0 freebsd32_wait4() at freebsd32_wait4+0x35/frame 0xffffff8247927ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247927bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247927bf0 --- syscall (7, FreeBSD ELF32, freebsd32_wait4), rip = 0x280efb57, rsp = 0xffffc734, rbp = 0xffffc750 --- Tracing command rw pid 1622 tid 100202 td 0xfffffe000bd14900 cpustop_handler() at cpustop_handler+0x2c/frame 0xffffff800024cd00 ipi_nmi_handler() at ipi_nmi_handler+0x3d/frame 0xffffff800024cd20 trap() at trap+0x325/frame 0xffffff800024cf20 nmi_calltrap() at nmi_calltrap+0x8/frame 0xffffff800024cf20 --- trap 0x13, rip = 0xffffffff8092e566, rsp = 0xffffff800024cfe0, rbp = 0xffffff8247a21510 --- _isitmyx() at _isitmyx+0x36/frame 0xffffff8247a21510 witness_checkorder() at witness_checkorder+0x83d/frame 0xffffff8247a215c0 __mtx_lock_flags() at __mtx_lock_flags+0x94/frame 0xffffff8247a215f0 vn_rlimit_fsize() at vn_rlimit_fsize+0x56/frame 0xffffff8247a21620 ffs_write() at ffs_write+0xe1/frame 0xffffff8247a216c0 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247a217d0 vn_write() at vn_write+0x281/frame 0xffffff8247a21860 vn_io_fault() at vn_io_fault+0x196/frame 0xffffff8247a219f0 dofilewrite() at dofilewrite+0x85/frame 0xffffff8247a21a40 kern_writev() at kern_writev+0x6c/frame 0xffffff8247a21a80 sys_write() at sys_write+0x64/frame 0xffffff8247a21ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247a21bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247a21bf0 --- syscall (4, FreeBSD ELF32, sys_write), rip = 0x2819249f, rsp = 0xffffb6b8, rbp = 0xffffc760 --- Tracing command rw pid 1621 tid 100180 td 0xfffffe0116158000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479b3630 mi_switch() at mi_switch+0x238/frame 0xffffff82479b3680 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479b36c0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479b3720 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82479b3740 _sleep() at _sleep+0x37d/frame 0xffffff82479b37d0 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff82479b3870 kern_wait() at kern_wait+0x9c/frame 0xffffff82479b39d0 freebsd32_wait4() at freebsd32_wait4+0x35/frame 0xffffff82479b3ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82479b3bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82479b3bf0 --- syscall (7, FreeBSD ELF32, freebsd32_wait4), rip = 0x280efb57, rsp = 0xffffc744, rbp = 0xffffc760 --- Tracing command creat pid 1619 tid 100143 td 0xfffffe000bce1000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478fa840 mi_switch() at mi_switch+0x238/frame 0xffffff82478fa890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478fa8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478fa930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82478fa960 _sleep() at _sleep+0x3c3/frame 0xffffff82478fa9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82478faa60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82478faad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82478fabf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82478fabf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc724, rbp = 0xffffc750 --- Tracing command rw pid 1618 tid 100142 td 0xfffffe000b228480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478f5840 mi_switch() at mi_switch+0x238/frame 0xffffff82478f5890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478f58d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478f5930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82478f5960 _sleep() at _sleep+0x3c3/frame 0xffffff82478f59f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff82478f5a60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff82478f5ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff82478f5bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff82478f5bf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2817099f, rsp = 0xffffc734, rbp = 0xffffc760 --- Tracing command sleep pid 1568 tid 100265 td 0xfffffe0116bdc900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247b5c850 mi_switch() at mi_switch+0x238/frame 0xffffff8247b5c8a0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247b5c8e0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247b5c940 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247b5c970 _sleep() at _sleep+0x3c3/frame 0xffffff8247b5ca00 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247b5ca70 sys_nanosleep() at sys_nanosleep+0x6e/frame 0xffffff8247b5cad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247b5cbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247b5cbf0 --- syscall (240, FreeBSD ELF64, sys_nanosleep), rip = 0x800913baa, rsp = 0x7fffffffdb48, rbp = 0x7fffffffdbd0 --- Tracing command run pid 1203 tid 100150 td 0xfffffe000b7b6900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824791d630 mi_switch() at mi_switch+0x238/frame 0xffffff824791d680 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824791d6c0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824791d720 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824791d740 _sleep() at _sleep+0x37d/frame 0xffffff824791d7d0 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff824791d870 kern_wait() at kern_wait+0x9c/frame 0xffffff824791d9d0 freebsd32_wait4() at freebsd32_wait4+0x35/frame 0xffffff824791dad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824791dbf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824791dbf0 --- syscall (7, FreeBSD ELF32, freebsd32_wait4), rip = 0x280eeb57, rsp = 0xffffc1d4, rbp = 0xffffc1f0 --- Tracing command run pid 1202 tid 100148 td 0xfffffe000b7b7480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247913630 mi_switch() at mi_switch+0x238/frame 0xffffff8247913680 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479136c0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247913720 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247913740 _sleep() at _sleep+0x37d/frame 0xffffff82479137d0 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff8247913870 kern_wait() at kern_wait+0x9c/frame 0xffffff82479139d0 freebsd32_wait4() at freebsd32_wait4+0x35/frame 0xffffff8247913ad0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff8247913bf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff8247913bf0 --- syscall (7, FreeBSD ELF32, freebsd32_wait4), rip = 0x280eeb57, rsp = 0xffffc6e4, rbp = 0xffffc700 --- Tracing command run pid 1201 tid 100147 td 0xfffffe000b7b7900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824790e840 mi_switch() at mi_switch+0x238/frame 0xffffff824790e890 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824790e8d0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824790e930 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824790e960 _sleep() at _sleep+0x3c3/frame 0xffffff824790e9f0 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824790ea60 freebsd32_nanosleep() at freebsd32_nanosleep+0x71/frame 0xffffff824790ead0 ia32_syscall() at ia32_syscall+0x35f/frame 0xffffff824790ebf0 Xint0x80_syscall() at Xint0x80_syscall+0x91/frame 0xffffff824790ebf0 --- syscall (240, FreeBSD ELF32, freebsd32_nanosleep), rip = 0x2816f99f, rsp = 0xffffc6d4, rbp = 0xffffc700 --- Tracing command sh pid 1192 tid 100133 td 0xfffffe000b409900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478c8670 mi_switch() at mi_switch+0x238/frame 0xffffff82478c86c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478c8700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478c8760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478c8780 _sleep() at _sleep+0x37d/frame 0xffffff82478c8810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff82478c88b0 kern_wait() at kern_wait+0x9c/frame 0xffffff82478c8a10 sys_wait4() at sys_wait4+0x35/frame 0xffffff82478c8ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478c8bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478c8bf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x800d302aa, rsp = 0x7fffffffd278, rbp = 0x1 --- Tracing command md5 pid 1177 tid 100146 td 0xfffffe000b7b1000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247909560 mi_switch() at mi_switch+0x238/frame 0xffffff82479095b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82479095f0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8247909620 _sleep() at _sleep+0x3e9/frame 0xffffff82479096b0 bwait() at bwait+0x67/frame 0xffffff82479096f0 bufwait() at bufwait+0x56/frame 0xffffff8247909710 ffs_balloc_ufs2() at ffs_balloc_ufs2+0x18ca/frame 0xffffff82479098e0 ffs_write() at ffs_write+0x227/frame 0xffffff8247909980 VOP_WRITE_APV() at VOP_WRITE_APV+0x135/frame 0xffffff8247909a90 mdstart_vnode() at mdstart_vnode+0x183/frame 0xffffff8247909b60 md_kthread() at md_kthread+0x151/frame 0xffffff8247909ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8247909bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8247909bf0 --- trap 0, rip = 0, rsp = 0xffffff8247909cb0, rbp = 0 --- Tracing command sh pid 1131 tid 100157 td 0xfffffe000bd17900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247940670 mi_switch() at mi_switch+0x238/frame 0xffffff82479406c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247940700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247940760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247940780 _sleep() at _sleep+0x37d/frame 0xffffff8247940810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff82479408b0 kern_wait() at kern_wait+0x9c/frame 0xffffff8247940a10 sys_wait4() at sys_wait4+0x35/frame 0xffffff8247940ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247940bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247940bf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x800d302aa, rsp = 0x7fffffffd558, rbp = 0x1 --- Tracing command bash pid 1127 tid 100094 td 0xfffffe000b226000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247805670 mi_switch() at mi_switch+0x238/frame 0xffffff82478056c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247805700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247805760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247805780 _sleep() at _sleep+0x37d/frame 0xffffff8247805810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff82478058b0 kern_wait() at kern_wait+0x9c/frame 0xffffff8247805a10 sys_wait4() at sys_wait4+0x35/frame 0xffffff8247805ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247805bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247805bf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x8010a12aa, rsp = 0x7fffffffd648, rbp = 0x8019189e0 --- Tracing command csh pid 1124 tid 100154 td 0xfffffe000bd49480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82479318b0 mi_switch() at mi_switch+0x238/frame 0xffffff8247931900 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247931940 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82479319a0 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82479319c0 _sleep() at _sleep+0x37d/frame 0xffffff8247931a50 kern_sigsuspend() at kern_sigsuspend+0xaa/frame 0xffffff8247931aa0 sys_sigsuspend() at sys_sigsuspend+0x34/frame 0xffffff8247931ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247931bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247931bf0 --- syscall (4, FreeBSD ELF64, sys_write), rip = 0x800d4509a, rsp = 0x7fffffffcd88, rbp = 0x80189a400 --- Tracing command su pid 1123 tid 100098 td 0xfffffe000b225480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247819670 mi_switch() at mi_switch+0x238/frame 0xffffff82478196c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247819700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247819760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247819780 _sleep() at _sleep+0x37d/frame 0xffffff8247819810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff82478198b0 kern_wait() at kern_wait+0x9c/frame 0xffffff8247819a10 sys_wait4() at sys_wait4+0x35/frame 0xffffff8247819ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247819bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247819bf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x800ed42aa, rsp = 0x7fffffffd458, rbp = 0x464 --- Tracing command bash pid 1104 tid 100139 td 0xfffffe000b58a000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478e6670 mi_switch() at mi_switch+0x238/frame 0xffffff82478e66c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478e6700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478e6760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478e6780 _sleep() at _sleep+0x37d/frame 0xffffff82478e6810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff82478e68b0 kern_wait() at kern_wait+0x9c/frame 0xffffff82478e6a10 sys_wait4() at sys_wait4+0x35/frame 0xffffff82478e6ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478e6bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478e6bf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x8010a12aa, rsp = 0x7fffffffd8c8, rbp = 0x80190afc0 --- Tracing command sshd pid 1103 tid 100081 td 0xfffffe0008f38000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477c4690 mi_switch() at mi_switch+0x238/frame 0xffffff82477c46e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477c4720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477c4780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477c47a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477c4800 seltdwait() at seltdwait+0xad/frame 0xffffff82477c4830 kern_select() at kern_select+0x79f/frame 0xffffff82477c4a80 sys_select() at sys_select+0x5d/frame 0xffffff82477c4ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477c4bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477c4bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x80255f8aa, rsp = 0x7fffffffcc58, rbp = 0x7fffffffcce0 --- Tracing command sshd pid 1101 tid 100138 td 0xfffffe000b7b1900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478e1760 mi_switch() at mi_switch+0x238/frame 0xffffff82478e17b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478e17f0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478e1850 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478e1870 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82478e18d0 seltdwait() at seltdwait+0xad/frame 0xffffff82478e1900 sys_poll() at sys_poll+0x3e6/frame 0xffffff82478e1ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478e1bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478e1bf0 --- syscall (209, FreeBSD ELF64, sys_poll), rip = 0x8024f950a, rsp = 0x7fffffffccf8, rbp = 0x803c22190 --- Tracing command awk pid 1085 tid 100089 td 0xfffffe000b10d900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477ec800 mi_switch() at mi_switch+0x238/frame 0xffffff82477ec850 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477ec890 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477ec8f0 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477ec910 _sleep() at _sleep+0x37d/frame 0xffffff82477ec9a0 pipe_read() at pipe_read+0x432/frame 0xffffff82477ec9f0 dofileread() at dofileread+0xa1/frame 0xffffff82477eca40 kern_readv() at kern_readv+0x6c/frame 0xffffff82477eca80 sys_read() at sys_read+0x64/frame 0xffffff82477ecad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477ecbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477ecbf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b7792a, rsp = 0x7fffffffd848, rbp = 0x800db5d60 --- Tracing command sh pid 1084 tid 100103 td 0xfffffe000b10c480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247832670 mi_switch() at mi_switch+0x238/frame 0xffffff82478326c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247832700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247832760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247832780 _sleep() at _sleep+0x37d/frame 0xffffff8247832810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff82478328b0 kern_wait() at kern_wait+0x9c/frame 0xffffff8247832a10 sys_wait4() at sys_wait4+0x35/frame 0xffffff8247832ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247832bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247832bf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x800d302aa, rsp = 0x7fffffffd678, rbp = 0x1 --- Tracing command top pid 1083 tid 100100 td 0xfffffe000b10d480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247823680 mi_switch() at mi_switch+0x238/frame 0xffffff82478236d0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247823710 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247823770 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82478237a0 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff8247823800 seltdwait() at seltdwait+0x57/frame 0xffffff8247823830 kern_select() at kern_select+0x79f/frame 0xffffff8247823a80 sys_select() at sys_select+0x5d/frame 0xffffff8247823ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247823bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247823bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x800fb98aa, rsp = 0x7fffffffd988, rbp = 0xe --- Tracing command sh pid 1082 tid 100111 td 0xfffffe0008f36480 sched_switch() at sched_switch+0x1b4/frame 0xffffff824785a670 mi_switch() at mi_switch+0x238/frame 0xffffff824785a6c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824785a700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824785a760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824785a780 _sleep() at _sleep+0x37d/frame 0xffffff824785a810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff824785a8b0 kern_wait() at kern_wait+0x9c/frame 0xffffff824785aa10 sys_wait4() at sys_wait4+0x35/frame 0xffffff824785aad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824785abf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824785abf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x800d302aa, rsp = 0x7fffffffd938, rbp = 0x1 --- Tracing command tail pid 1081 tid 100088 td 0xfffffe000b10e000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477e7680 mi_switch() at mi_switch+0x238/frame 0xffffff82477e76d0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477e7710 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477e7770 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82477e77a0 _sleep() at _sleep+0x3c3/frame 0xffffff82477e7830 kern_kevent() at kern_kevent+0x33a/frame 0xffffff82477e7a10 sys_kevent() at sys_kevent+0x90/frame 0xffffff82477e7ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477e7bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477e7bf0 --- syscall (363, FreeBSD ELF64, sys_kevent), rip = 0x800918b2a, rsp = 0x7fffffffd9e8, rbp = 0x8010060a8 --- Tracing command sshd pid 1080 tid 100131 td 0xfffffe000b7b2480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478be690 mi_switch() at mi_switch+0x238/frame 0xffffff82478be6e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478be720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478be780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478be7a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82478be800 seltdwait() at seltdwait+0xad/frame 0xffffff82478be830 kern_select() at kern_select+0x79f/frame 0xffffff82478bea80 sys_select() at sys_select+0x5d/frame 0xffffff82478bead0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478bebf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478bebf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x80255f8aa, rsp = 0x7fffffffcc58, rbp = 0x7fffffffcce0 --- Tracing command sshd pid 1079 tid 100095 td 0xfffffe000b176480 sched_switch() at sched_switch+0x1b4/frame 0xffffff824780a690 mi_switch() at mi_switch+0x238/frame 0xffffff824780a6e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824780a720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824780a780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824780a7a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff824780a800 seltdwait() at seltdwait+0xad/frame 0xffffff824780a830 kern_select() at kern_select+0x79f/frame 0xffffff824780aa80 sys_select() at sys_select+0x5d/frame 0xffffff824780aad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824780abf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824780abf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x80255f8aa, rsp = 0x7fffffffcc58, rbp = 0x7fffffffcce0 --- Tracing command sshd pid 1078 tid 100112 td 0xfffffe0008f36000 sched_switch() at sched_switch+0x1b4/frame 0xffffff824785f690 mi_switch() at mi_switch+0x238/frame 0xffffff824785f6e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824785f720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824785f780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824785f7a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff824785f800 seltdwait() at seltdwait+0xad/frame 0xffffff824785f830 kern_select() at kern_select+0x79f/frame 0xffffff824785fa80 sys_select() at sys_select+0x5d/frame 0xffffff824785fad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824785fbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824785fbf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x80255f8aa, rsp = 0x7fffffffcc58, rbp = 0x7fffffffcce0 --- Tracing command sshd pid 1074 tid 100105 td 0xfffffe000b175480 sched_switch() at sched_switch+0x1b4/frame 0xffffff824783c760 mi_switch() at mi_switch+0x238/frame 0xffffff824783c7b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824783c7f0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824783c850 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824783c870 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff824783c8d0 seltdwait() at seltdwait+0xad/frame 0xffffff824783c900 sys_poll() at sys_poll+0x3e6/frame 0xffffff824783cad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824783cbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824783cbf0 --- syscall (209, FreeBSD ELF64, sys_poll), rip = 0x8024f950a, rsp = 0x7fffffffccf8, rbp = 0x803c22190 --- Tracing command sshd pid 1073 tid 100079 td 0xfffffe0008f38900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477ba760 mi_switch() at mi_switch+0x238/frame 0xffffff82477ba7b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477ba7f0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477ba850 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477ba870 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477ba8d0 seltdwait() at seltdwait+0xad/frame 0xffffff82477ba900 sys_poll() at sys_poll+0x3e6/frame 0xffffff82477baad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477babf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477babf0 --- syscall (209, FreeBSD ELF64, sys_poll), rip = 0x8024f950a, rsp = 0x7fffffffccf8, rbp = 0x803c22190 --- Tracing command sshd pid 1072 tid 100090 td 0xfffffe000b227480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477f1760 mi_switch() at mi_switch+0x238/frame 0xffffff82477f17b0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477f17f0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477f1850 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477f1870 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477f18d0 seltdwait() at seltdwait+0xad/frame 0xffffff82477f1900 sys_poll() at sys_poll+0x3e6/frame 0xffffff82477f1ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477f1bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477f1bf0 --- syscall (209, FreeBSD ELF64, sys_poll), rip = 0x8024f950a, rsp = 0x7fffffffccf8, rbp = 0x803c22190 --- Tracing command getty pid 1071 tid 100083 td 0xfffffe000b177000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477ce710 mi_switch() at mi_switch+0x238/frame 0xffffff82477ce760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477ce7a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477ce800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477ce820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477ce880 tty_wait() at tty_wait+0x4c/frame 0xffffff82477ce8b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff82477ce950 ttydev_read() at ttydev_read+0x95/frame 0xffffff82477ce980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff82477ce9f0 dofileread() at dofileread+0xa1/frame 0xffffff82477cea40 kern_readv() at kern_readv+0x6c/frame 0xffffff82477cea80 sys_read() at sys_read+0x64/frame 0xffffff82477cead0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477cebf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477cebf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1070 tid 100115 td 0xfffffe000b5bb900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824786e710 mi_switch() at mi_switch+0x238/frame 0xffffff824786e760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824786e7a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824786e800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824786e820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff824786e880 tty_wait() at tty_wait+0x4c/frame 0xffffff824786e8b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff824786e950 ttydev_read() at ttydev_read+0x95/frame 0xffffff824786e980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff824786e9f0 dofileread() at dofileread+0xa1/frame 0xffffff824786ea40 kern_readv() at kern_readv+0x6c/frame 0xffffff824786ea80 sys_read() at sys_read+0x64/frame 0xffffff824786ead0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824786ebf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824786ebf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1069 tid 100106 td 0xfffffe000b175000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247841710 mi_switch() at mi_switch+0x238/frame 0xffffff8247841760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478417a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247841800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247841820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff8247841880 tty_wait() at tty_wait+0x4c/frame 0xffffff82478418b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff8247841950 ttydev_read() at ttydev_read+0x95/frame 0xffffff8247841980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff82478419f0 dofileread() at dofileread+0xa1/frame 0xffffff8247841a40 kern_readv() at kern_readv+0x6c/frame 0xffffff8247841a80 sys_read() at sys_read+0x64/frame 0xffffff8247841ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247841bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247841bf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1068 tid 100114 td 0xfffffe000b5d2000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247869710 mi_switch() at mi_switch+0x238/frame 0xffffff8247869760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478697a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247869800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8247869820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff8247869880 tty_wait() at tty_wait+0x4c/frame 0xffffff82478698b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff8247869950 ttydev_read() at ttydev_read+0x95/frame 0xffffff8247869980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff82478699f0 dofileread() at dofileread+0xa1/frame 0xffffff8247869a40 kern_readv() at kern_readv+0x6c/frame 0xffffff8247869a80 sys_read() at sys_read+0x64/frame 0xffffff8247869ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247869bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247869bf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1067 tid 100129 td 0xfffffe000b7b3000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478b4710 mi_switch() at mi_switch+0x238/frame 0xffffff82478b4760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478b47a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478b4800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478b4820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82478b4880 tty_wait() at tty_wait+0x4c/frame 0xffffff82478b48b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff82478b4950 ttydev_read() at ttydev_read+0x95/frame 0xffffff82478b4980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff82478b49f0 dofileread() at dofileread+0xa1/frame 0xffffff82478b4a40 kern_readv() at kern_readv+0x6c/frame 0xffffff82478b4a80 sys_read() at sys_read+0x64/frame 0xffffff82478b4ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478b4bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478b4bf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1066 tid 100128 td 0xfffffe000b7b3480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478af710 mi_switch() at mi_switch+0x238/frame 0xffffff82478af760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478af7a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478af800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478af820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82478af880 tty_wait() at tty_wait+0x4c/frame 0xffffff82478af8b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff82478af950 ttydev_read() at ttydev_read+0x95/frame 0xffffff82478af980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff82478af9f0 dofileread() at dofileread+0xa1/frame 0xffffff82478afa40 kern_readv() at kern_readv+0x6c/frame 0xffffff82478afa80 sys_read() at sys_read+0x64/frame 0xffffff82478afad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478afbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478afbf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1065 tid 100127 td 0xfffffe000b7b3900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478aa710 mi_switch() at mi_switch+0x238/frame 0xffffff82478aa760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478aa7a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478aa800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478aa820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82478aa880 tty_wait() at tty_wait+0x4c/frame 0xffffff82478aa8b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff82478aa950 ttydev_read() at ttydev_read+0x95/frame 0xffffff82478aa980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff82478aa9f0 dofileread() at dofileread+0xa1/frame 0xffffff82478aaa40 kern_readv() at kern_readv+0x6c/frame 0xffffff82478aaa80 sys_read() at sys_read+0x64/frame 0xffffff82478aaad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478aabf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478aabf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1064 tid 100126 td 0xfffffe0008f3a480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478a5710 mi_switch() at mi_switch+0x238/frame 0xffffff82478a5760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478a57a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478a5800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478a5820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82478a5880 tty_wait() at tty_wait+0x4c/frame 0xffffff82478a58b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff82478a5950 ttydev_read() at ttydev_read+0x95/frame 0xffffff82478a5980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff82478a59f0 dofileread() at dofileread+0xa1/frame 0xffffff82478a5a40 kern_readv() at kern_readv+0x6c/frame 0xffffff82478a5a80 sys_read() at sys_read+0x64/frame 0xffffff82478a5ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82478a5bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82478a5bf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command getty pid 1063 tid 100121 td 0xfffffe000b10c000 sched_switch() at sched_switch+0x1b4/frame 0xffffff824788c710 mi_switch() at mi_switch+0x238/frame 0xffffff824788c760 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824788c7a0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824788c800 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824788c820 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff824788c880 tty_wait() at tty_wait+0x4c/frame 0xffffff824788c8b0 ttydisc_read() at ttydisc_read+0x38e/frame 0xffffff824788c950 ttydev_read() at ttydev_read+0x95/frame 0xffffff824788c980 devfs_read_f() at devfs_read_f+0x90/frame 0xffffff824788c9f0 dofileread() at dofileread+0xa1/frame 0xffffff824788ca40 kern_readv() at kern_readv+0x6c/frame 0xffffff824788ca80 sys_read() at sys_read+0x64/frame 0xffffff824788cad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824788cbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824788cbf0 --- syscall (3, FreeBSD ELF64, sys_read), rip = 0x800b4b92a, rsp = 0x7fffffffdc98, rbp = 0 --- Tracing command inetd pid 1024 tid 100077 td 0xfffffe000b177900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477b0690 mi_switch() at mi_switch+0x238/frame 0xffffff82477b06e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477b0720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477b0780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477b07a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477b0800 seltdwait() at seltdwait+0xad/frame 0xffffff82477b0830 kern_select() at kern_select+0x79f/frame 0xffffff82477b0a80 sys_select() at sys_select+0x5d/frame 0xffffff82477b0ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477b0bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477b0bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x800f608aa, rsp = 0x7fffffffcd68, rbp = 0x1 --- Tracing command moused pid 991 tid 100124 td 0xfffffe000b109000 sched_switch() at sched_switch+0x1b4/frame 0xffffff824789b690 mi_switch() at mi_switch+0x238/frame 0xffffff824789b6e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824789b720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824789b780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff824789b7a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff824789b800 seltdwait() at seltdwait+0xad/frame 0xffffff824789b830 kern_select() at kern_select+0x79f/frame 0xffffff824789ba80 sys_select() at sys_select+0x5d/frame 0xffffff824789bad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824789bbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824789bbf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x800d728aa, rsp = 0x7fffffffd858, rbp = 0x7fffffffdf31 --- Tracing command watchdogd pid 971 tid 100096 td 0xfffffe000b176000 sched_switch() at sched_switch+0x1b4/frame 0xffffff824780f850 mi_switch() at mi_switch+0x238/frame 0xffffff824780f8a0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824780f8e0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824780f940 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824780f970 _sleep() at _sleep+0x3c3/frame 0xffffff824780fa00 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff824780fa70 sys_nanosleep() at sys_nanosleep+0x6e/frame 0xffffff824780fad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff824780fbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff824780fbf0 --- syscall (240, FreeBSD ELF64, sys_nanosleep), rip = 0x800b27baa, rsp = 0x7fffffffdba8, rbp = 0x7fffffffdbf0 --- Tracing command cron pid 961 tid 100123 td 0xfffffe000b109480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247896850 mi_switch() at mi_switch+0x238/frame 0xffffff82478968a0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82478968e0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247896940 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247896970 _sleep() at _sleep+0x3c3/frame 0xffffff8247896a00 kern_nanosleep() at kern_nanosleep+0x118/frame 0xffffff8247896a70 sys_nanosleep() at sys_nanosleep+0x6e/frame 0xffffff8247896ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247896bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247896bf0 --- syscall (240, FreeBSD ELF64, sys_nanosleep), rip = 0x800d39baa, rsp = 0x7fffffffdac8, rbp = 0x3c --- Tracing command sendmail pid 954 tid 100110 td 0xfffffe0008f36900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478558b0 mi_switch() at mi_switch+0x238/frame 0xffffff8247855900 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247855940 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478559a0 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478559c0 _sleep() at _sleep+0x37d/frame 0xffffff8247855a50 kern_sigsuspend() at kern_sigsuspend+0xaa/frame 0xffffff8247855aa0 sys_sigsuspend() at sys_sigsuspend+0x34/frame 0xffffff8247855ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247855bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247855bf0 --- syscall (4, FreeBSD ELF64, sys_write), rip = 0x80139609a, rsp = 0x7fffffffbda8, rbp = 0x1 --- Tracing command sendmail pid 950 tid 100109 td 0xfffffe0008f37000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247850680 mi_switch() at mi_switch+0x238/frame 0xffffff82478506d0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247850710 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247850770 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82478507a0 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff8247850800 seltdwait() at seltdwait+0x57/frame 0xffffff8247850830 kern_select() at kern_select+0x79f/frame 0xffffff8247850a80 sys_select() at sys_select+0x5d/frame 0xffffff8247850ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247850bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247850bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x8014498aa, rsp = 0x7fffffffb218, rbp = 0x7fffffffb2b0 --- Tracing command sshd pid 942 tid 100082 td 0xfffffe000b177480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477c9690 mi_switch() at mi_switch+0x238/frame 0xffffff82477c96e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477c9720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477c9780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477c97a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477c9800 seltdwait() at seltdwait+0xad/frame 0xffffff82477c9830 kern_select() at kern_select+0x79f/frame 0xffffff82477c9a80 sys_select() at sys_select+0x5d/frame 0xffffff82477c9ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477c9bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477c9bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x80255f8aa, rsp = 0x7fffffffcd78, rbp = 0x2 --- Tracing command ntpd pid 851 tid 100086 td 0xfffffe000b227900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477dd690 mi_switch() at mi_switch+0x238/frame 0xffffff82477dd6e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477dd720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477dd780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477dd7a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477dd800 seltdwait() at seltdwait+0xad/frame 0xffffff82477dd830 kern_select() at kern_select+0x79f/frame 0xffffff82477dda80 sys_select() at sys_select+0x5d/frame 0xffffff82477ddad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477ddbf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477ddbf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x8013a98aa, rsp = 0x7fffffffdbc8, rbp = 0x7fffffffdd08 --- Tracing command nfsd pid 756 tid 100120 td 0xfffffe000b5ba000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478878e0 mi_switch() at mi_switch+0x238/frame 0xffffff8247887930 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247887970 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478879d0 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247887a00 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff8247887a60 svc_run_internal() at svc_run_internal+0x895/frame 0xffffff8247887b90 svc_thread_start() at svc_thread_start+0xb/frame 0xffffff8247887ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8247887bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8247887bf0 --- trap 0xc, rip = 0x800885cfa, rsp = 0x7fffffffd678, rbp = 0x5 --- Tracing command nfsd pid 756 tid 100119 td 0xfffffe000b5ba480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82478828e0 mi_switch() at mi_switch+0x238/frame 0xffffff8247882930 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247882970 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82478829d0 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff8247882a00 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff8247882a60 svc_run_internal() at svc_run_internal+0x895/frame 0xffffff8247882b90 svc_thread_start() at svc_thread_start+0xb/frame 0xffffff8247882ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8247882bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8247882bf0 --- trap 0xc, rip = 0x800885cfa, rsp = 0x7fffffffd678, rbp = 0x5 --- Tracing command nfsd pid 756 tid 100118 td 0xfffffe000b5ba900 sched_switch() at sched_switch+0x1b4/frame 0xffffff824787d8e0 mi_switch() at mi_switch+0x238/frame 0xffffff824787d930 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff824787d970 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff824787d9d0 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff824787da00 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff824787da60 svc_run_internal() at svc_run_internal+0x895/frame 0xffffff824787db90 svc_thread_start() at svc_thread_start+0xb/frame 0xffffff824787dba0 fork_exit() at fork_exit+0x139/frame 0xffffff824787dbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff824787dbf0 --- trap 0xc, rip = 0x800885cfa, rsp = 0x7fffffffd678, rbp = 0x5 --- Tracing command nfsd pid 756 tid 100084 td 0xfffffe000b176900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477d3070 mi_switch() at mi_switch+0x238/frame 0xffffff82477d30c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477d3100 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477d3160 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82477d3190 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff82477d31f0 svc_run_internal() at svc_run_internal+0x895/frame 0xffffff82477d3320 svc_run() at svc_run+0x94/frame 0xffffff82477d3340 nfsrvd_nfsd() at nfsrvd_nfsd+0x1c7/frame 0xffffff82477d3490 nfssvc_nfsd() at nfssvc_nfsd+0x9b/frame 0xffffff82477d3ab0 sys_nfssvc() at sys_nfssvc+0xb0/frame 0xffffff82477d3ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477d3bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477d3bf0 --- syscall (155, FreeBSD ELF64, sys_nfssvc), rip = 0x800885cfa, rsp = 0x7fffffffd678, rbp = 0x5 --- Tracing command nfsd pid 755 tid 100117 td 0xfffffe000b5bb000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247878690 mi_switch() at mi_switch+0x238/frame 0xffffff82478786e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247878720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247878780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478787a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff8247878800 seltdwait() at seltdwait+0xad/frame 0xffffff8247878830 kern_select() at kern_select+0x79f/frame 0xffffff8247878a80 sys_select() at sys_select+0x5d/frame 0xffffff8247878ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247878bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247878bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x8009388aa, rsp = 0x7fffffffd928, rbp = 0x7fffffffdc00 --- Tracing command mountd pid 746 tid 100116 td 0xfffffe000b5bb480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247873690 mi_switch() at mi_switch+0x238/frame 0xffffff82478736e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247873720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247873780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82478737a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff8247873800 seltdwait() at seltdwait+0xad/frame 0xffffff8247873830 kern_select() at kern_select+0x79f/frame 0xffffff8247873a80 sys_select() at sys_select+0x5d/frame 0xffffff8247873ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247873bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247873bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x800b508aa, rsp = 0x7fffffffdb78, rbp = 0x801419060 --- Tracing command rpcbind pid 641 tid 100085 td 0xfffffe000b228000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477d8750 mi_switch() at mi_switch+0x238/frame 0xffffff82477d87a0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477d87e0 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477d8840 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82477d8870 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff82477d88d0 seltdwait() at seltdwait+0x57/frame 0xffffff82477d8900 sys_poll() at sys_poll+0x3e6/frame 0xffffff82477d8ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477d8bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477d8bf0 --- syscall (209, FreeBSD ELF64, sys_poll), rip = 0x800cf350a, rsp = 0x7fffffffba48, rbp = 0x80141b020 --- Tracing command syslogd pid 615 tid 100078 td 0xfffffe0008f39000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82477b5690 mi_switch() at mi_switch+0x238/frame 0xffffff82477b56e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82477b5720 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff82477b5780 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff82477b57a0 _cv_wait_sig() at _cv_wait_sig+0x181/frame 0xffffff82477b5800 seltdwait() at seltdwait+0xad/frame 0xffffff82477b5830 kern_select() at kern_select+0x79f/frame 0xffffff82477b5a80 sys_select() at sys_select+0x5d/frame 0xffffff82477b5ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff82477b5bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82477b5bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x800b4e8aa, rsp = 0x7fffffffd118, rbp = 0x80142c108 --- Tracing command devd pid 434 tid 100097 td 0xfffffe000b225900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8247814680 mi_switch() at mi_switch+0x238/frame 0xffffff82478146d0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8247814710 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8247814770 sleepq_timedwait_sig() at sleepq_timedwait_sig+0x19/frame 0xffffff82478147a0 _cv_timedwait_sig() at _cv_timedwait_sig+0x18f/frame 0xffffff8247814800 seltdwait() at seltdwait+0x57/frame 0xffffff8247814830 kern_select() at kern_select+0x79f/frame 0xffffff8247814a80 sys_select() at sys_select+0x5d/frame 0xffffff8247814ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8247814bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8247814bf0 --- syscall (93, FreeBSD ELF64, sys_select), rip = 0x442aaa, rsp = 0x7fffffffd828, rbp = 0x10 --- Tracing command softdepflush pid 18 tid 100075 td 0xfffffe0008f39480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234c3f730 mi_switch() at mi_switch+0x238/frame 0xffffff8234c3f780 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234c3f7c0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234c3f7f0 __lockmgr_args() at __lockmgr_args+0x713/frame 0xffffff8234c3f8d0 ffs_snapblkfree() at ffs_snapblkfree+0xaa/frame 0xffffff8234c3f980 ffs_blkfree() at ffs_blkfree+0x179/frame 0xffffff8234c3f9e0 freework_freeblock() at freework_freeblock+0x45f/frame 0xffffff8234c3fa50 handle_workitem_freeblocks() at handle_workitem_freeblocks+0x21a/frame 0xffffff8234c3fab0 process_worklist_item() at process_worklist_item+0x452/frame 0xffffff8234c3fb20 softdep_process_worklist() at softdep_process_worklist+0x81/frame 0xffffff8234c3fb60 softdep_flush() at softdep_flush+0xf0/frame 0xffffff8234c3fba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234c3fbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234c3fbf0 --- trap 0, rip = 0, rsp = 0xffffff8234c3fcb0, rbp = 0 --- Tracing command vnlru pid 17 tid 100074 td 0xfffffe0008f39900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234c3a9d0 mi_switch() at mi_switch+0x238/frame 0xffffff8234c3aa20 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234c3aa60 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff8234c3aa90 _sleep() at _sleep+0x29a/frame 0xffffff8234c3ab20 vnlru_proc() at vnlru_proc+0x537/frame 0xffffff8234c3aba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234c3abf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234c3abf0 --- trap 0, rip = 0, rsp = 0xffffff8234c3acb0, rbp = 0 --- Tracing command syncer pid 16 tid 100073 td 0xfffffe0008f3a000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234c359f0 mi_switch() at mi_switch+0x238/frame 0xffffff8234c35a40 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234c35a80 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff8234c35ab0 _cv_timedwait() at _cv_timedwait+0x18f/frame 0xffffff8234c35b10 sched_sync() at sched_sync+0x4ee/frame 0xffffff8234c35ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234c35bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234c35bf0 --- trap 0, rip = 0, rsp = 0xffffff8234c35cb0, rbp = 0 --- Tracing command bufdaemon pid 9 tid 100072 td 0xfffffe0008077000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234c30a30 mi_switch() at mi_switch+0x238/frame 0xffffff8234c30a80 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234c30ac0 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff8234c30af0 _sleep() at _sleep+0x29a/frame 0xffffff8234c30b80 buf_daemon() at buf_daemon+0x192/frame 0xffffff8234c30ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234c30bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234c30bf0 --- trap 0, rip = 0, rsp = 0xffffff8234c30cb0, rbp = 0 --- Tracing command pagezero pid 8 tid 100071 td 0xfffffe0008077480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234c2ba30 mi_switch() at mi_switch+0x238/frame 0xffffff8234c2ba80 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234c2bac0 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff8234c2baf0 _sleep() at _sleep+0x29a/frame 0xffffff8234c2bb80 vm_pagezero() at vm_pagezero+0x73/frame 0xffffff8234c2bba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234c2bbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234c2bbf0 --- trap 0, rip = 0, rsp = 0xffffff8234c2bcb0, rbp = 0 --- Tracing command vmdaemon pid 7 tid 100070 td 0xfffffe0008077900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234c269e0 mi_switch() at mi_switch+0x238/frame 0xffffff8234c26a30 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234c26a70 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234c26aa0 _sleep() at _sleep+0x3e9/frame 0xffffff8234c26b30 vm_daemon() at vm_daemon+0x4d/frame 0xffffff8234c26ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234c26bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234c26bf0 --- trap 0, rip = 0, rsp = 0xffffff8234c26cb0, rbp = 0 --- Tracing command pagedaemon pid 6 tid 100069 td 0xfffffe000807a000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234c21940 mi_switch() at mi_switch+0x238/frame 0xffffff8234c21990 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234c219d0 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff8234c21a00 _sleep() at _sleep+0x29a/frame 0xffffff8234c21a90 vm_pageout() at vm_pageout+0xb8e/frame 0xffffff8234c21ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234c21bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234c21bf0 --- trap 0, rip = 0, rsp = 0xffffff8234c21cb0, rbp = 0 --- Tracing command xpt_thrd pid 5 tid 100068 td 0xfffffe000807a480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a9ca30 mi_switch() at mi_switch+0x238/frame 0xffffff8234a9ca80 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a9cac0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a9caf0 _sleep() at _sleep+0x3e9/frame 0xffffff8234a9cb80 xpt_scanner_thread() at xpt_scanner_thread+0xdd/frame 0xffffff8234a9cba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a9cbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a9cbf0 --- trap 0, rip = 0, rsp = 0xffffff8234a9ccb0, rbp = 0 --- Tracing command sctp_iterator pid 4 tid 100067 td 0xfffffe000807a900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a97a40 mi_switch() at mi_switch+0x238/frame 0xffffff8234a97a90 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a97ad0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a97b00 _sleep() at _sleep+0x3e9/frame 0xffffff8234a97b90 sctp_iterator_thread() at sctp_iterator_thread+0x3f/frame 0xffffff8234a97ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a97bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a97bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a97cb0, rbp = 0 --- Tracing command ctl_thrd pid 3 tid 100064 td 0xfffffe000807c900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a873f0 mi_switch() at mi_switch+0x238/frame 0xffffff8234a87440 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a87480 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a874b0 _sleep() at _sleep+0x3e9/frame 0xffffff8234a87540 ctl_work_thread() at ctl_work_thread+0x1ce8/frame 0xffffff8234a87ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a87bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a87bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a87cb0, rbp = 0 --- Tracing command fdc0 pid 2 tid 100061 td 0xfffffe000807d900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a74990 mi_switch() at mi_switch+0x238/frame 0xffffff8234a749e0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a74a20 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff8234a74a50 _sleep() at _sleep+0x29a/frame 0xffffff8234a74ae0 fdc_thread() at fdc_thread+0x7f4/frame 0xffffff8234a74ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a74bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a74bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a74cb0, rbp = 0 --- Tracing command usb pid 15 tid 100058 td 0xfffffe000802f000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a2ea50 mi_switch() at mi_switch+0x238/frame 0xffffff8234a2eaa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a2eae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a2eb10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234a2eb70 usb_process() at usb_process+0x172/frame 0xffffff8234a2eba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a2ebf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a2ebf0 --- trap 0, rip = 0, rsp = 0xffffff8234a2ecb0, rbp = 0 --- Tracing command usb pid 15 tid 100057 td 0xfffffe000802f480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a29a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234a29aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a29ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a29b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234a29b70 usb_process() at usb_process+0x172/frame 0xffffff8234a29ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a29bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a29bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a29cb0, rbp = 0 --- Tracing command usb pid 15 tid 100056 td 0xfffffe000802f900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a24a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234a24aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a24ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a24b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234a24b70 usb_process() at usb_process+0x172/frame 0xffffff8234a24ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a24bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a24bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a24cb0, rbp = 0 --- Tracing command usb pid 15 tid 100055 td 0xfffffe0008030000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a1fa50 mi_switch() at mi_switch+0x238/frame 0xffffff8234a1faa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a1fae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a1fb10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234a1fb70 usb_process() at usb_process+0x172/frame 0xffffff8234a1fba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a1fbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a1fbf0 --- trap 0, rip = 0, rsp = 0xffffff8234a1fcb0, rbp = 0 --- Tracing command usb pid 15 tid 100053 td 0xfffffe0008030900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234892a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234892aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234892ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234892b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234892b70 usb_process() at usb_process+0x172/frame 0xffffff8234892ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234892bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234892bf0 --- trap 0, rip = 0, rsp = 0xffffff8234892cb0, rbp = 0 --- Tracing command usb pid 15 tid 100052 td 0xfffffe0008031000 sched_switch() at sched_switch+0x1b4/frame 0xffffff823488da50 mi_switch() at mi_switch+0x238/frame 0xffffff823488daa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff823488dae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff823488db10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff823488db70 usb_process() at usb_process+0x172/frame 0xffffff823488dba0 fork_exit() at fork_exit+0x139/frame 0xffffff823488dbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff823488dbf0 --- trap 0, rip = 0, rsp = 0xffffff823488dcb0, rbp = 0 --- Tracing command usb pid 15 tid 100051 td 0xfffffe0008031480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234888a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234888aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234888ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234888b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234888b70 usb_process() at usb_process+0x172/frame 0xffffff8234888ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234888bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234888bf0 --- trap 0, rip = 0, rsp = 0xffffff8234888cb0, rbp = 0 --- Tracing command usb pid 15 tid 100050 td 0xfffffe0008031900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234883a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234883aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234883ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234883b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234883b70 usb_process() at usb_process+0x172/frame 0xffffff8234883ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234883bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234883bf0 --- trap 0, rip = 0, rsp = 0xffffff8234883cb0, rbp = 0 --- Tracing command usb pid 15 tid 100049 td 0xfffffe0008022000 sched_switch() at sched_switch+0x1b4/frame 0xffffff823483aa50 mi_switch() at mi_switch+0x238/frame 0xffffff823483aaa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff823483aae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff823483ab10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff823483ab70 usb_process() at usb_process+0x172/frame 0xffffff823483aba0 fork_exit() at fork_exit+0x139/frame 0xffffff823483abf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff823483abf0 --- trap 0, rip = 0, rsp = 0xffffff823483acb0, rbp = 0 --- Tracing command usb pid 15 tid 100048 td 0xfffffe0008022480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234835a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234835aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234835ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234835b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234835b70 usb_process() at usb_process+0x172/frame 0xffffff8234835ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234835bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234835bf0 --- trap 0, rip = 0, rsp = 0xffffff8234835cb0, rbp = 0 --- Tracing command usb pid 15 tid 100047 td 0xfffffe0008022900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234830a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234830aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234830ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234830b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234830b70 usb_process() at usb_process+0x172/frame 0xffffff8234830ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234830bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234830bf0 --- trap 0, rip = 0, rsp = 0xffffff8234830cb0, rbp = 0 --- Tracing command usb pid 15 tid 100046 td 0xfffffe0008023000 sched_switch() at sched_switch+0x1b4/frame 0xffffff823482ba50 mi_switch() at mi_switch+0x238/frame 0xffffff823482baa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff823482bae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff823482bb10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff823482bb70 usb_process() at usb_process+0x172/frame 0xffffff823482bba0 fork_exit() at fork_exit+0x139/frame 0xffffff823482bbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff823482bbf0 --- trap 0, rip = 0, rsp = 0xffffff823482bcb0, rbp = 0 --- Tracing command usb pid 15 tid 100045 td 0xfffffe0008023480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82347e2a50 mi_switch() at mi_switch+0x238/frame 0xffffff82347e2aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82347e2ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82347e2b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff82347e2b70 usb_process() at usb_process+0x172/frame 0xffffff82347e2ba0 fork_exit() at fork_exit+0x139/frame 0xffffff82347e2bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff82347e2bf0 --- trap 0, rip = 0, rsp = 0xffffff82347e2cb0, rbp = 0 --- Tracing command usb pid 15 tid 100044 td 0xfffffe0008023900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82347dda50 mi_switch() at mi_switch+0x238/frame 0xffffff82347ddaa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82347ddae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82347ddb10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff82347ddb70 usb_process() at usb_process+0x172/frame 0xffffff82347ddba0 fork_exit() at fork_exit+0x139/frame 0xffffff82347ddbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff82347ddbf0 --- trap 0, rip = 0, rsp = 0xffffff82347ddcb0, rbp = 0 --- Tracing command usb pid 15 tid 100043 td 0xfffffe0008025000 sched_switch() at sched_switch+0x1b4/frame 0xffffff82347d8a50 mi_switch() at mi_switch+0x238/frame 0xffffff82347d8aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82347d8ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82347d8b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff82347d8b70 usb_process() at usb_process+0x172/frame 0xffffff82347d8ba0 fork_exit() at fork_exit+0x139/frame 0xffffff82347d8bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff82347d8bf0 --- trap 0, rip = 0, rsp = 0xffffff82347d8cb0, rbp = 0 --- Tracing command usb pid 15 tid 100042 td 0xfffffe0008025480 sched_switch() at sched_switch+0x1b4/frame 0xffffff82347d3a50 mi_switch() at mi_switch+0x238/frame 0xffffff82347d3aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff82347d3ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff82347d3b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff82347d3b70 usb_process() at usb_process+0x172/frame 0xffffff82347d3ba0 fork_exit() at fork_exit+0x139/frame 0xffffff82347d3bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff82347d3bf0 --- trap 0, rip = 0, rsp = 0xffffff82347d3cb0, rbp = 0 --- Tracing command usb pid 15 tid 100040 td 0xfffffe0008027000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234785a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234785aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234785ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234785b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234785b70 usb_process() at usb_process+0x172/frame 0xffffff8234785ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234785bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234785bf0 --- trap 0, rip = 0, rsp = 0xffffff8234785cb0, rbp = 0 --- Tracing command usb pid 15 tid 100039 td 0xfffffe000801b000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234780a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234780aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234780ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234780b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234780b70 usb_process() at usb_process+0x172/frame 0xffffff8234780ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234780bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234780bf0 --- trap 0, rip = 0, rsp = 0xffffff8234780cb0, rbp = 0 --- Tracing command usb pid 15 tid 100038 td 0xfffffe000801b480 sched_switch() at sched_switch+0x1b4/frame 0xffffff823477ba50 mi_switch() at mi_switch+0x238/frame 0xffffff823477baa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff823477bae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff823477bb10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff823477bb70 usb_process() at usb_process+0x172/frame 0xffffff823477bba0 fork_exit() at fork_exit+0x139/frame 0xffffff823477bbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff823477bbf0 --- trap 0, rip = 0, rsp = 0xffffff823477bcb0, rbp = 0 --- Tracing command usb pid 15 tid 100037 td 0xfffffe000801b900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234776a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234776aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234776ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234776b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234776b70 usb_process() at usb_process+0x172/frame 0xffffff8234776ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234776bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234776bf0 --- trap 0, rip = 0, rsp = 0xffffff8234776cb0, rbp = 0 --- Tracing command usb pid 15 tid 100035 td 0xfffffe000801c480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234728a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234728aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234728ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234728b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234728b70 usb_process() at usb_process+0x172/frame 0xffffff8234728ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234728bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234728bf0 --- trap 0, rip = 0, rsp = 0xffffff8234728cb0, rbp = 0 --- Tracing command usb pid 15 tid 100034 td 0xfffffe000801c900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234723a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234723aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234723ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234723b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234723b70 usb_process() at usb_process+0x172/frame 0xffffff8234723ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234723bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234723bf0 --- trap 0, rip = 0, rsp = 0xffffff8234723cb0, rbp = 0 --- Tracing command usb pid 15 tid 100033 td 0xfffffe000801d000 sched_switch() at sched_switch+0x1b4/frame 0xffffff823471ea50 mi_switch() at mi_switch+0x238/frame 0xffffff823471eaa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff823471eae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff823471eb10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff823471eb70 usb_process() at usb_process+0x172/frame 0xffffff823471eba0 fork_exit() at fork_exit+0x139/frame 0xffffff823471ebf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff823471ebf0 --- trap 0, rip = 0, rsp = 0xffffff823471ecb0, rbp = 0 --- Tracing command usb pid 15 tid 100032 td 0xfffffe000801d480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234719a50 mi_switch() at mi_switch+0x238/frame 0xffffff8234719aa0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234719ae0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234719b10 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8234719b70 usb_process() at usb_process+0x172/frame 0xffffff8234719ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234719bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234719bf0 --- trap 0, rip = 0, rsp = 0xffffff8234719cb0, rbp = 0 --- Tracing command yarrow pid 14 tid 100017 td 0xfffffe000524a900 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002a3a10 mi_switch() at mi_switch+0x238/frame 0xffffff80002a3a60 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff80002a3aa0 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff80002a3ad0 _sleep() at _sleep+0x29a/frame 0xffffff80002a3b60 random_kthread() at random_kthread+0x1ad/frame 0xffffff80002a3ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002a3bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002a3bf0 --- trap 0, rip = 0, rsp = 0xffffff80002a3cb0, rbp = 0 --- Tracing command geom pid 13 tid 100015 td 0xfffffe0005233000 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002999f0 mi_switch() at mi_switch+0x238/frame 0xffffff8000299a40 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8000299a80 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8000299ab0 _sleep() at _sleep+0x3e9/frame 0xffffff8000299b40 g_io_schedule_down() at g_io_schedule_down+0x26f/frame 0xffffff8000299b90 g_down_procbody() at g_down_procbody+0x7c/frame 0xffffff8000299ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000299bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000299bf0 --- trap 0, rip = 0, rsp = 0xffffff8000299cb0, rbp = 0 --- Tracing command geom pid 13 tid 100014 td 0xfffffe0005233480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000294a20 mi_switch() at mi_switch+0x238/frame 0xffffff8000294a70 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8000294ab0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8000294ae0 _sleep() at _sleep+0x3e9/frame 0xffffff8000294b70 g_io_schedule_up() at g_io_schedule_up+0x138/frame 0xffffff8000294b90 g_up_procbody() at g_up_procbody+0x7c/frame 0xffffff8000294ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000294bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000294bf0 --- trap 0, rip = 0, rsp = 0xffffff8000294cb0, rbp = 0 --- Tracing command geom pid 13 tid 100013 td 0xfffffe0005233900 sched_switch() at sched_switch+0x1b4/frame 0xffffff800028fa20 mi_switch() at mi_switch+0x238/frame 0xffffff800028fa70 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff800028fab0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff800028fae0 _sleep() at _sleep+0x3e9/frame 0xffffff800028fb70 g_run_events() at g_run_events+0x449/frame 0xffffff800028fba0 fork_exit() at fork_exit+0x139/frame 0xffffff800028fbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff800028fbf0 --- trap 0, rip = 0, rsp = 0xffffff800028fcb0, rbp = 0 --- Tracing command intr pid 12 tid 100063 td 0xfffffe000807d000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100062 td 0xfffffe000807d480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a79b00 mi_switch() at mi_switch+0x238/frame 0xffffff8234a79b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8234a79ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a79bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a79bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a79cb0, rbp = 0 --- Tracing command intr pid 12 tid 100060 td 0xfffffe0008027480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a65b00 mi_switch() at mi_switch+0x238/frame 0xffffff8234a65b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8234a65ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a65bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a65bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a65cb0, rbp = 0 --- Tracing command intr pid 12 tid 100059 td 0xfffffe0008027900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a56b00 mi_switch() at mi_switch+0x238/frame 0xffffff8234a56b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8234a56ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a56bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a56bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a56cb0, rbp = 0 --- Tracing command intr pid 12 tid 100054 td 0xfffffe0008030480 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100041 td 0xfffffe0008025900 sched_switch() at sched_switch+0x1b4/frame 0xffffff82347ceb00 mi_switch() at mi_switch+0x238/frame 0xffffff82347ceb50 ithread_loop() at ithread_loop+0x273/frame 0xffffff82347ceba0 fork_exit() at fork_exit+0x139/frame 0xffffff82347cebf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff82347cebf0 --- trap 0, rip = 0, rsp = 0xffffff82347cecb0, rbp = 0 --- Tracing command intr pid 12 tid 100036 td 0xfffffe000801c000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234771b00 mi_switch() at mi_switch+0x238/frame 0xffffff8234771b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8234771ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234771bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234771bf0 --- trap 0, rip = 0, rsp = 0xffffff8234771cb0, rbp = 0 --- Tracing command intr pid 12 tid 100031 td 0xfffffe000801d900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234714b00 mi_switch() at mi_switch+0x238/frame 0xffffff8234714b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8234714ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234714bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234714bf0 --- trap 0, rip = 0, rsp = 0xffffff8234714cb0, rbp = 0 --- Tracing command intr pid 12 tid 100030 td 0xfffffe000524c480 sched_switch() at sched_switch+0x1b4/frame 0xffffff80003ecb00 mi_switch() at mi_switch+0x238/frame 0xffffff80003ecb50 ithread_loop() at ithread_loop+0x273/frame 0xffffff80003ecba0 fork_exit() at fork_exit+0x139/frame 0xffffff80003ecbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80003ecbf0 --- trap 0, rip = 0, rsp = 0xffffff80003eccb0, rbp = 0 --- Tracing command intr pid 12 tid 100029 td 0xfffffe000524c900 sched_switch() at sched_switch+0x1b4/frame 0xffffff80003e7b00 mi_switch() at mi_switch+0x238/frame 0xffffff80003e7b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff80003e7ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80003e7bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80003e7bf0 --- trap 0, rip = 0, rsp = 0xffffff80003e7cb0, rbp = 0 --- Tracing command intr pid 12 tid 100028 td 0xfffffe00053e9000 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002dbb00 mi_switch() at mi_switch+0x238/frame 0xffffff80002dbb50 ithread_loop() at ithread_loop+0x273/frame 0xffffff80002dbba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002dbbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002dbbf0 --- trap 0, rip = 0, rsp = 0xffffff80002dbcb0, rbp = 0 --- Tracing command intr pid 12 tid 100023 td 0xfffffe00053ea900 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002c2b00 mi_switch() at mi_switch+0x238/frame 0xffffff80002c2b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff80002c2ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002c2bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002c2bf0 --- trap 0, rip = 0, rsp = 0xffffff80002c2cb0, rbp = 0 --- Tracing command intr pid 12 tid 100022 td 0xfffffe0005249000 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002bdb00 mi_switch() at mi_switch+0x238/frame 0xffffff80002bdb50 ithread_loop() at ithread_loop+0x273/frame 0xffffff80002bdba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002bdbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002bdbf0 --- trap 0, rip = 0, rsp = 0xffffff80002bdcb0, rbp = 0 --- Tracing command intr pid 12 tid 100021 td 0xfffffe0005249480 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100019 td 0xfffffe000524a000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100012 td 0xfffffe0005234000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100011 td 0xfffffe0005234480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000285b00 mi_switch() at mi_switch+0x238/frame 0xffffff8000285b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8000285ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000285bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000285bf0 --- trap 0, rip = 0, rsp = 0xffffff8000285cb0, rbp = 0 --- Tracing command intr pid 12 tid 100010 td 0xfffffe0005234900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000280b00 mi_switch() at mi_switch+0x238/frame 0xffffff8000280b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8000280ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000280bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000280bf0 --- trap 0, rip = 0, rsp = 0xffffff8000280cb0, rbp = 0 --- Tracing command intr pid 12 tid 100009 td 0xfffffe0005218480 sched_switch() at sched_switch+0x1b4/frame 0xffffff800027bb00 mi_switch() at mi_switch+0x238/frame 0xffffff800027bb50 ithread_loop() at ithread_loop+0x273/frame 0xffffff800027bba0 fork_exit() at fork_exit+0x139/frame 0xffffff800027bbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff800027bbf0 --- trap 0, rip = 0, rsp = 0xffffff800027bcb0, rbp = 0 --- Tracing command intr pid 12 tid 100008 td 0xfffffe0005218900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000276b00 mi_switch() at mi_switch+0x238/frame 0xffffff8000276b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8000276ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000276bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000276bf0 --- trap 0, rip = 0, rsp = 0xffffff8000276cb0, rbp = 0 --- Tracing command intr pid 12 tid 100007 td 0xfffffe0005221000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000271b00 mi_switch() at mi_switch+0x238/frame 0xffffff8000271b50 ithread_loop() at ithread_loop+0x273/frame 0xffffff8000271ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000271bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000271bf0 --- trap 0, rip = 0, rsp = 0xffffff8000271cb0, rbp = 0 --- Tracing command idle pid 11 tid 100006 td 0xfffffe0005221480 sched_switch() at sched_switch+0x1b4/frame 0xffffff800026cac0 mi_switch() at mi_switch+0x238/frame 0xffffff800026cb10 sched_idletd() at sched_idletd+0x345/frame 0xffffff800026cba0 fork_exit() at fork_exit+0x139/frame 0xffffff800026cbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff800026cbf0 --- trap 0, rip = 0, rsp = 0xffffff800026ccb0, rbp = 0 --- Tracing command idle pid 11 tid 100005 td 0xfffffe0005221900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000267ac0 mi_switch() at mi_switch+0x238/frame 0xffffff8000267b10 sched_idletd() at sched_idletd+0x345/frame 0xffffff8000267ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000267bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000267bf0 --- trap 0, rip = 0, rsp = 0xffffff8000267cb0, rbp = 0 --- Tracing command idle pid 11 tid 100004 td 0xfffffe0005215000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000262ac0 mi_switch() at mi_switch+0x238/frame 0xffffff8000262b10 sched_idletd() at sched_idletd+0x345/frame 0xffffff8000262ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000262bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000262bf0 --- trap 0, rip = 0, rsp = 0xffffff8000262cb0, rbp = 0 --- Tracing command idle pid 11 tid 100003 td 0xfffffe0005215480 sched_switch() at sched_switch+0x1b4/frame 0xffffff800025dac0 mi_switch() at mi_switch+0x238/frame 0xffffff800025db10 sched_idletd() at sched_idletd+0x345/frame 0xffffff800025dba0 fork_exit() at fork_exit+0x139/frame 0xffffff800025dbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff800025dbf0 --- trap 0, rip = 0, rsp = 0xffffff800025dcb0, rbp = 0 --- Tracing command init pid 1 tid 100002 td 0xfffffe0005215900 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000258670 mi_switch() at mi_switch+0x238/frame 0xffffff80002586c0 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8000258700 sleepq_catch_signals() at sleepq_catch_signals+0x2c6/frame 0xffffff8000258760 sleepq_wait_sig() at sleepq_wait_sig+0x16/frame 0xffffff8000258780 _sleep() at _sleep+0x37d/frame 0xffffff8000258810 kern_wait6() at kern_wait6+0x5f1/frame 0xffffff80002588b0 kern_wait() at kern_wait+0x9c/frame 0xffffff8000258a10 sys_wait4() at sys_wait4+0x35/frame 0xffffff8000258ad0 amd64_syscall() at amd64_syscall+0x2d3/frame 0xffffff8000258bf0 Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff8000258bf0 --- syscall (7, FreeBSD ELF64, sys_wait4), rip = 0x41242a, rsp = 0x7fffffffd798, rbp = 0x8a --- Tracing command audit pid 10 tid 100001 td 0xfffffe0005218000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8000253a00 mi_switch() at mi_switch+0x238/frame 0xffffff8000253a50 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8000253a90 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8000253ac0 _cv_wait() at _cv_wait+0x17d/frame 0xffffff8000253b20 audit_worker() at audit_worker+0x77/frame 0xffffff8000253ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8000253bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8000253bf0 --- trap 0, rip = 0, rsp = 0xffffff8000253cb0, rbp = 0 --- Tracing command kernel pid 0 tid 100066 td 0xfffffe000807c000 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a91a10 mi_switch() at mi_switch+0x238/frame 0xffffff8234a91a60 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a91aa0 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffff8234a91ad0 _sleep() at _sleep+0x29a/frame 0xffffff8234a91b60 deadlkres() at deadlkres+0x2c3/frame 0xffffff8234a91ba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a91bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a91bf0 --- trap 0, rip = 0, rsp = 0xffffff8234a91cb0, rbp = 0 --- Tracing command kernel pid 0 tid 100065 td 0xfffffe000807c480 sched_switch() at sched_switch+0x1b4/frame 0xffffff8234a8ca40 mi_switch() at mi_switch+0x238/frame 0xffffff8234a8ca90 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff8234a8cad0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff8234a8cb00 msleep_spin() at msleep_spin+0x22d/frame 0xffffff8234a8cb70 taskqueue_thread_loop() at taskqueue_thread_loop+0x6f/frame 0xffffff8234a8cba0 fork_exit() at fork_exit+0x139/frame 0xffffff8234a8cbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff8234a8cbf0 --- trap 0, rip = 0, rsp = 0xffffff8234a8ccb0, rbp = 0 --- Tracing command kernel pid 0 tid 100027 td 0xfffffe00053e9480 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002d6a40 mi_switch() at mi_switch+0x238/frame 0xffffff80002d6a90 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff80002d6ad0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff80002d6b00 msleep_spin() at msleep_spin+0x22d/frame 0xffffff80002d6b70 taskqueue_thread_loop() at taskqueue_thread_loop+0x6f/frame 0xffffff80002d6ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002d6bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002d6bf0 --- trap 0, rip = 0, rsp = 0xffffff80002d6cb0, rbp = 0 --- Tracing command kernel pid 0 tid 100026 td 0xfffffe00053e9900 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002d1a40 mi_switch() at mi_switch+0x238/frame 0xffffff80002d1a90 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff80002d1ad0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff80002d1b00 msleep_spin() at msleep_spin+0x22d/frame 0xffffff80002d1b70 taskqueue_thread_loop() at taskqueue_thread_loop+0x6f/frame 0xffffff80002d1ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002d1bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002d1bf0 --- trap 0, rip = 0, rsp = 0xffffff80002d1cb0, rbp = 0 --- Tracing command kernel pid 0 tid 100025 td 0xfffffe00053ea000 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002cca40 mi_switch() at mi_switch+0x238/frame 0xffffff80002cca90 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff80002ccad0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff80002ccb00 msleep_spin() at msleep_spin+0x22d/frame 0xffffff80002ccb70 taskqueue_thread_loop() at taskqueue_thread_loop+0x6f/frame 0xffffff80002ccba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002ccbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002ccbf0 --- trap 0, rip = 0, rsp = 0xffffff80002cccb0, rbp = 0 --- Tracing command kernel pid 0 tid 100024 td 0xfffffe00053ea480 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002c7a20 mi_switch() at mi_switch+0x238/frame 0xffffff80002c7a70 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff80002c7ab0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff80002c7ae0 _sleep() at _sleep+0x3e9/frame 0xffffff80002c7b70 taskqueue_thread_loop() at taskqueue_thread_loop+0xc7/frame 0xffffff80002c7ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002c7bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002c7bf0 --- trap 0, rip = 0, rsp = 0xffffff80002c7cb0, rbp = 0 --- Tracing command kernel pid 0 tid 100020 td 0xfffffe0005249900 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002b3a20 mi_switch() at mi_switch+0x238/frame 0xffffff80002b3a70 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff80002b3ab0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff80002b3ae0 _sleep() at _sleep+0x3e9/frame 0xffffff80002b3b70 taskqueue_thread_loop() at taskqueue_thread_loop+0xc7/frame 0xffffff80002b3ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002b3bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002b3bf0 --- trap 0, rip = 0, rsp = 0xffffff80002b3cb0, rbp = 0 --- Tracing command kernel pid 0 tid 100018 td 0xfffffe000524a480 sched_switch() at sched_switch+0x1b4/frame 0xffffff80002a9a20 mi_switch() at mi_switch+0x238/frame 0xffffff80002a9a70 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff80002a9ab0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff80002a9ae0 _sleep() at _sleep+0x3e9/frame 0xffffff80002a9b70 taskqueue_thread_loop() at taskqueue_thread_loop+0xc7/frame 0xffffff80002a9ba0 fork_exit() at fork_exit+0x139/frame 0xffffff80002a9bf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff80002a9bf0 --- trap 0, rip = 0, rsp = 0xffffff80002a9cb0, rbp = 0 --- Tracing command kernel pid 0 tid 100016 td 0xfffffe000524c000 sched_switch() at sched_switch+0x1b4/frame 0xffffff800029ea20 mi_switch() at mi_switch+0x238/frame 0xffffff800029ea70 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffff800029eab0 sleepq_wait() at sleepq_wait+0x4d/frame 0xffffff800029eae0 _sleep() at _sleep+0x3e9/frame 0xffffff800029eb70 taskqueue_thread_loop() at taskqueue_thread_loop+0xc7/frame 0xffffff800029eba0 fork_exit() at fork_exit+0x139/frame 0xffffff800029ebf0 fork_trampoline() at fork_trampoline+0xe/frame 0xffffff800029ebf0 --- trap 0, rip = 0, rsp = 0xffffff800029ecb0, rbp = 0 --- Tracing command kernel pid 0 tid 100000 td 0xffffffff8135d110 sched_switch() at sched_switch+0x1b4/frame 0xffffffff818f7b00 mi_switch() at mi_switch+0x238/frame 0xffffffff818f7b50 sleepq_switch() at sleepq_switch+0xfe/frame 0xffffffff818f7b90 sleepq_timedwait() at sleepq_timedwait+0x4d/frame 0xffffffff818f7bc0 _sleep() at _sleep+0x29a/frame 0xffffffff818f7c50 scheduler() at scheduler+0x2b0/frame 0xffffffff818f7c90 mi_startup() at mi_startup+0x77/frame 0xffffffff818f7cb0 btext() at btext+0x2c db:0:allt> call doadump Dumping 549 out of 8040 MB:..3%..12%..21%..33%..41%..53%..62%..73%..82%..91% Dump complete = 0 db:0:doadump> reset (kgdb) bt #0 doadump (textdump=0x5214000) at ../../../kern/kern_shutdown.c:263 #1 0xffffffff8034338c in db_fncall (dummy1=, dummy2=, dummy3=, dummy4=) at ../../../ddb/db_command.c:578 #2 0xffffffff8034363d in db_command (last_cmdp=0xffffffff81324660, cmd_table=, dopager=0x0) at ../../../ddb/db_command.c:449 #3 0xffffffff803481d3 in db_script_exec (scriptname=0xffffffff81324f00 "doadump", warnifnotfound=0x1) at ../../../ddb/db_script.c:302 #4 0xffffffff803436c1 in db_command (last_cmdp=0xffffffff81324660, cmd_table=, dopager=0x1) at ../../../ddb/db_command.c:449 #5 0xffffffff80343910 in db_command_loop () at ../../../ddb/db_command.c:502 #6 0xffffffff80345a89 in db_trap (type=, code=) at ../../../ddb/db_main.c:231 #7 0xffffffff80919088 in kdb_trap (type=0x3, code=0x0, tf=0xffffff824784ad70) at ../../../kern/subr_kdb.c:654 #8 0xffffffff80c83a8d in trap (frame=0xffffff824784ad70) at ../../../amd64/amd64/trap.c:579 #9 0xffffffff80c6c6f3 in calltrap () at ../../../amd64/amd64/exception.S:228 #10 0xffffffff80918b0b in kdb_enter (why=0xffffffff80ef74de "panic", msg=0x80
) at cpufunc.h:63 #11 0xffffffff808de5b1 in vpanic (fmt=, ap=) at ../../../kern/kern_shutdown.c:746 #12 0xffffffff808de793 in kassert_panic (fmt=0xffffffff80f06310 "bremfree: buffer %p already marked for delayed removal.") at ../../../kern/kern_shutdown.c:641 #13 0xffffffff8096607b in bremfree (bp=0xffffff81e78ab8a0) at ../../../kern/vfs_bio.c:832 #14 0xffffffff8096d3f5 in getblk (vp=0xfffffe000bddd9c0, blkno=0x180100, size=0x4000, slpflag=0x0, slptimeo=0x0, flags=0x0) at ../../../kern/vfs_bio.c:3055 #15 0xffffffff8096ddd0 in breadn_flags (vp=0xfffffe000bddd9c0, blkno=, size=, rablkno=0x0, rabsize=0x0, cnt=0x0, cred=0x0, flags=0x0, bpp=0xffffff824784b0f0) at ../../../kern/vfs_bio.c:969 #16 0xffffffff80b0a5b2 in ffs_alloccg (ip=0xfffffe01168f8888, cg=0x3, bpref=0x30008, size=0x8000, rsize=0x8000) at ../../../ufs/ffs/ffs_alloc.c:1519 #17 0xffffffff80b08922 in ffs_hashalloc (ip=0xfffffe01168f8888, cg=0x3, pref=0x30008, size=0x8000, rsize=0x8000, allocator=0xffffffff80b0a4a0 ) at ../../../ufs/ffs/ffs_alloc.c:1376 #18 0xffffffff80b0aa00 in ffs_alloc (ip=0xfffffe01168f8888, lbn=, bpref=0x30008, size=0x8000, flags=0x2000, cred=0xfffffe00051ff000, bnp=0xffffff824784b360) at ../../../ufs/ffs/ffs_alloc.c:200 #19 0xffffffff80b0ec1f in ffs_balloc_ufs2 (vp=0xfffffe000bbfe4e0, startoffset=, size=, cred=0xfffffe00051ff000, flags=0x0, bpp=0xffffff824784b418) at ../../../ufs/ffs/ffs_balloc.c:922 #20 0xffffffff80b166f8 in ffs_copyonwrite (devvp=0xfffffe000bddd9c0, bp=0xffffff81e7e6c2a0) at ../../../ufs/ffs/ffs_snapshot.c:2363 #21 0xffffffff80b3224b in ffs_geom_strategy (bo=0xfffffe000bdddb28, bp=0xffffff81e7e6c2a0) at ../../../ufs/ffs/ffs_vfsops.c:2180 #22 0xffffffff8096d005 in bufwrite (bp=0xffffff81e7e6c2a0) at buf.h:409 #23 0xffffffff80b09b20 in ffs_nodealloccg (ip=0xfffffe0116d73000, cg=0x3, ipref=0x81, mode=0x81b0, unused=) at ../../../ufs/ffs/ffs_alloc.c:1892 #24 0xffffffff80b08922 in ffs_hashalloc (ip=0xfffffe0116d73000, cg=0x3, pref=0x18011, size=0x81b0, rsize=0x0, allocator=0xffffffff80b09640 ) at ../../../ufs/ffs/ffs_alloc.c:1376 #25 0xffffffff80b08ef0 in ffs_valloc (pvp=0xfffffe011692c4e0, mode=0x81b0, cred=0xfffffe000b1b0700, vpp=0xffffff824784b6c8) at ../../../ufs/ffs/ffs_alloc.c:1008 #26 0xffffffff80b46b3f in ufs_makeinode (mode=0x81b0, dvp=0xfffffe011692c4e0, vpp=0xffffff824784ba00, cnp=0xffffff824784ba28) at ../../../ufs/ufs/ufs_vnops.c:2605 #27 0xffffffff80d22c16 in VOP_CREATE_APV (vop=0xffffffff812f3b20, a=0xffffff824784b930) at vnode_if.c:265 #28 0xffffffff80994dce in vn_open_cred (ndp=0xffffff824784b9c0, flagp=0xffffff824784b9bc, cmode=0x1b0, vn_open_flags=, cred=0xfffffe000b1b0700, fp=0xfffffe000bce5b90) at vnode_if.h:109 #29 0xffffffff8098f6ce in kern_openat (td=0xfffffe0008f37480, fd=0xffffff9c, path=0xffffc6c0
, pathseg=UIO_USERSPACE, flags=0x602, mode=0x1b0) at ../../../kern/vfs_syscalls.c:1086 #30 0xffffffff80cfbeff in ia32_syscall (frame=0xffffff824784bc00) at subr_syscall.c:134 #31 0xffffffff80c6ccc1 in Xint0x80_syscall () at ia32_exception.S:73 #32 0x0000000028189dcf in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) f 13 #13 0xffffffff8096607b in bremfree (bp=0xffffff81e78ab8a0) at ../../../kern/vfs_bio.c:832 832 KASSERT((bp->b_flags & B_REMFREE) == 0, (kgdb) l 827 bremfree(struct buf *bp) 828 { 829 int old; 830 831 CTR3(KTR_BUF, "bremfree(%p) vp %p flags %X", bp, bp->b_vp, bp->b_flags); 832 KASSERT((bp->b_flags & B_REMFREE) == 0, 833 ("bremfree: buffer %p already marked for delayed removal.", bp)); 834 KASSERT(bp->b_qindex != QUEUE_NONE, 835 ("bremfree: buffer %p not on a queue.", bp)); 836 BUF_ASSERT_HELD(bp); (kgdb) p *bp $1 = {b_bufobj = 0xfffffe000bdddb28, b_bcount = 0x4000, b_caller1 = 0x0, b_data = 0xffffff81e971c000 "", b_error = 0x0, b_iocmd = 0x2, b_ioflags = 0x2, b_iooffset = 0x30020000, b_resid = 0x0, b_iodone = 0, b_blkno = 0x180100, b_offset = 0x30020000, b_bobufs = {tqe_next = 0xffffff81e7a387a0, tqe_prev = 0xffffff81e79efef0}, b_left = 0xffffff81e78b5aa0, b_right = 0xffffff81e7a387a0, b_vflags = 0x1, b_freelist = {tqe_next = 0xffffff81e7e2e7a0, tqe_prev = 0xffffff81e7a38818}, b_qindex = 0x2, b_flags = 0xa00000a0, b_xflags = 0x11, b_lock = {lock_object = {lo_name = 0xffffffff80f06037 "bufwait", lo_flags = 0x57b0000, lo_data = 0x1, lo_witness = 0xffffff80006cd280}, lk_lock = 0xfffffe0008f37484, lk_exslpfail = 0x11, lk_timo = 0x0, lk_pri = 0x60, lk_stack = {depth = 0xc, pcs = {0xffffffff808c1e93, 0xffffffff8096d21f, 0xffffffff8096ddd0, 0xffffffff80b0974c, 0xffffffff80b08922, 0xffffffff80b08ef0, 0xffffffff80b46b3f, 0xffffffff80d22c16, 0xffffffff80994dce, 0xffffffff8098f6ce, 0xffffffff80cfbeff, 0xffffffff80c6ccc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}}, b_bufsize = 0x4000, b_runningbufspace = 0x0, b_kvabase = 0xffffff81e971c000 "", b_kvaalloc = 0x0, b_kvasize = 0x4000, b_lblkno = 0x180100, b_vp = 0xfffffe000bddd9c0, b_dirtyoff = 0x0, b_dirtyend = 0x0, b_rcred = 0x0, b_wcred = 0x0, b_saveaddr = 0xffffff81e971c000, b_pager = {pg_reqpage = 0x0}, b_cluster = {cluster_head = {tqh_first = 0xffffff81e78abba0, tqh_last = 0xffffff81e78ab760}, cluster_entry = {tqe_next = 0xffffff81e78abba0, tqe_prev = 0xffffff81e78ab760}}, b_pages = { 0xfffffe0214f003b8, 0xfffffe0214f00520, 0xfffffe02181e9630, 0xfffffe02181e96a8, 0x0 }, b_npages = 0x4, b_dep = {lh_first = 0xfffffe0008f12a00}, b_fsprivate1 = 0x0, b_fsprivate2 = 0x0, b_fsprivate3 = 0x0, b_pin_count = 0x0} (kgdb) f 14 #14 0xffffffff8096d3f5 in getblk (vp=0xfffffe000bddd9c0, blkno=0x180100, size=0x4000, slpflag=0x0, slptimeo=0x0, flags=0x0) at ../../../kern/vfs_bio.c:3055 3055 bremfree(bp); (kgdb) l 3050 bp->b_flags |= B_CACHE; 3051 if (bp->b_flags & B_MANAGED) 3052 MPASS(bp->b_qindex == QUEUE_NONE); 3053 else { 3054 BO_LOCK(bo); 3055 bremfree(bp); 3056 BO_UNLOCK(bo); 3057 } 3058 3059 /* (kgdb) p *vp $2 = {v_tag = 0xffffffff80ef197d "devfs", v_op = 0xffffffff8127ee40, v_data = 0xfffffe000b5cfd00, v_mount = 0xfffffe000b0ba000, v_nmntvnodes = {tqe_next = 0x0, tqe_prev = 0xfffffe000bdddc50}, v_un = { vu_mount = 0xfffffe000b8ec000, vu_socket = 0xfffffe000b8ec000, vu_cdev = 0xfffffe000b8ec000, vu_fifoinfo = 0xfffffe000b8ec000}, v_hashlist = {le_next = 0x0, le_prev = 0x0}, v_cache_src = {lh_first = 0x0}, v_cache_dst = { tqh_first = 0x0, tqh_last = 0xfffffe000bddda10}, v_cache_dd = 0x0, v_lock = {lock_object = {lo_name = 0xffffffff80ef197d "devfs", lo_flags = 0x5730000, lo_data = 0x0, lo_witness = 0xffffff80006d2100}, lk_lock = 0x1, lk_exslpfail = 0x0, lk_timo = 0x33, lk_pri = 0x60, lk_stack = {depth = 0xd, pcs = {0xffffffff808c1e93, 0xffffffff80972c39, 0xffffffff80d2176b, 0xffffffff809931fe, 0xffffffff80b2f351, 0xffffffff80b332be, 0xffffffff80992f75, 0xffffffff80b17db7, 0xffffffff80b34389, 0xffffffff8097c910, 0xffffffff8097d2c6, 0xffffffff80c82863, 0xffffffff80c6c9d7, 0x0, 0x0, 0x0, 0x0, 0x0}}}, v_interlock = {lock_object = { lo_name = 0xffffffff80f000ba "vnode interlock", lo_flags = 0x1030000, lo_data = 0x0, lo_witness = 0xffffff80006c9600}, mtx_lock = 0x4}, v_vnlock = 0xfffffe000bddda28, v_actfreelist = {tqe_next = 0xfffffe000b76f9c0, tqe_prev = 0xfffffe000b0ba078}, v_bufobj = {bo_mtx = {lock_object = {lo_name = 0xffffffff80f097b5 "bufobj interlock", lo_flags = 0x1030000, lo_data = 0x0, lo_witness = 0xffffff80006d0200}, mtx_lock = 0xfffffe0008f37480}, bo_ops = 0xffffffff812f29a0, bo_object = 0xfffffe000bd1b960, bo_synclist = {le_next = 0x0, le_prev = 0xfffffe0005240260}, bo_private = 0xfffffe00051d4400, __bo_vnode = 0xfffffe000bddd9c0, bo_clean = {bv_hd = { tqh_first = 0xffffff81e78abba0, tqh_last = 0xffffff81e7e67af0}, bv_root = 0xffffff81e7e6c2a0, bv_cnt = 0x2e}, bo_dirty = {bv_hd = {tqh_first = 0xffffff81e78ab5a0, tqh_last = 0xffffff81e7e6bff0}, bv_root = 0xffffff81e78ab8a0, bv_cnt = 0x9}, bo_numoutput = 0x2, bo_flag = 0x1, bo_bsize = 0x200}, v_pollinfo = 0x0, v_label = 0x0, v_lockf = 0x0, v_rl = {rl_waiters = {tqh_first = 0x0, tqh_last = 0xfffffe000bdddbe0}, rl_currdep = 0x0}, v_cstart = 0x0, v_lasta = 0x0, v_lastw = 0x0, v_clen = 0x0, v_holdcnt = 0x39, v_usecount = 0x1, v_iflag = 0x200, v_vflag = 0x40, v_writecount = 0x0, v_hash = 0x5eeec, v_type = VCHR} (kgdb) git diff master diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index c6c62ae..ef4ad07 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -4274,6 +4274,30 @@ pmap_copy_page(vm_page_t msrc, vm_page_t mdst) pagecopy((void *)src, (void *)dst); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)PHYS_TO_DMAP(ma[a_offset >> PAGE_SHIFT]-> + phys_addr) + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)PHYS_TO_DMAP(mb[b_offset >> PAGE_SHIFT]-> + phys_addr) + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c index 72ef310..dd209ab 100644 --- a/sys/arm/arm/pmap-v6.c +++ b/sys/arm/arm/pmap-v6.c @@ -3314,6 +3314,42 @@ pmap_copy_page_generic(vm_paddr_t src, vm_paddr_t dst) } void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + vm_page_t a_pg, b_pg; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + mtx_lock(&cmtx); + while (xfersize > 0) { + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + *csrc_pte = L2_S_PROTO | VM_PAGE_TO_PHYS(a_pg) | + pte_l2_s_cache_mode; + pmap_set_prot(csrc_pte, VM_PROT_READ, 0); + PTE_SYNC(csrc_pte); + *cdst_pte = L2_S_PROTO | VM_PAGE_TO_PHYS(b_pg) | + pte_l2_s_cache_mode; + pmap_set_prot(cdst_pte, VM_PROT_READ | VM_PROT_WRITE, 0); + PTE_SYNC(cdst_pte); + cpu_tlb_flushD_SE(csrcp); + cpu_tlb_flushD_SE(cdstp); + cpu_cpwait(); + bcopy((char *)csrcp + a_pg_offset, (char *)cdstp + b_pg_offset, + cnt); + cpu_idcache_wbinv_range(cdstp + b_pg_offset, cnt); + pmap_l2cache_wbinv_range(cdstp + b_pg_offset, + VM_PAGE_TO_PHYS(b_pg) + b_pg_offset, cnt); + } + mtx_unlock(&cmtx); +} + +void pmap_copy_page(vm_page_t src, vm_page_t dst) { diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c index 28b4912..9f2ec71 100644 --- a/sys/arm/arm/pmap.c +++ b/sys/arm/arm/pmap.c @@ -258,6 +258,9 @@ pt_entry_t pte_l1_c_proto; pt_entry_t pte_l2_s_proto; void (*pmap_copy_page_func)(vm_paddr_t, vm_paddr_t); +void (*pmap_copy_page_offs_func)(vm_paddr_t a_phys, + vm_offset_t a_offs, vm_paddr_t b_phys, vm_offset_t b_offs, + int cnt); void (*pmap_zero_page_func)(vm_paddr_t, int, int); struct msgbuf *msgbufp = 0; @@ -401,6 +404,13 @@ static struct vm_object pvzone_obj; static int pv_entry_count=0, pv_entry_max=0, pv_entry_high_water=0; static struct rwlock pvh_global_lock; +void pmap_copy_page_offs_generic(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt); +#if ARM_MMU_XSCALE == 1 +void pmap_copy_page_offs_xscale(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt); +#endif + /* * This list exists for the benefit of pmap_map_chunk(). It keeps track * of the kernel L2 tables during bootstrap, so that pmap_map_chunk() can @@ -485,6 +495,7 @@ pmap_pte_init_generic(void) pte_l2_s_proto = L2_S_PROTO_generic; pmap_copy_page_func = pmap_copy_page_generic; + pmap_copy_page_offs_func = pmap_copy_page_offs_generic; pmap_zero_page_func = pmap_zero_page_generic; } @@ -661,6 +672,7 @@ pmap_pte_init_xscale(void) #ifdef CPU_XSCALE_CORE3 pmap_copy_page_func = pmap_copy_page_generic; + pmap_copy_page_offs_func = pmap_copy_page_offs_generic; pmap_zero_page_func = pmap_zero_page_generic; xscale_use_minidata = 0; /* Make sure it is L2-cachable */ @@ -673,6 +685,7 @@ pmap_pte_init_xscale(void) #else pmap_copy_page_func = pmap_copy_page_xscale; + pmap_copy_page_offs_func = pmap_copy_page_offs_xscale; pmap_zero_page_func = pmap_zero_page_xscale; #endif @@ -4301,6 +4314,29 @@ pmap_copy_page_generic(vm_paddr_t src, vm_paddr_t dst) cpu_l2cache_inv_range(csrcp, PAGE_SIZE); cpu_l2cache_wbinv_range(cdstp, PAGE_SIZE); } + +void +pmap_copy_page_offs_generic(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt) +{ + + mtx_lock(&cmtx); + *csrc_pte = L2_S_PROTO | a_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_READ) | pte_l2_s_cache_mode; + PTE_SYNC(csrc_pte); + *cdst_pte = L2_S_PROTO | b_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_WRITE) | pte_l2_s_cache_mode; + PTE_SYNC(cdst_pte); + cpu_tlb_flushD_SE(csrcp); + cpu_tlb_flushD_SE(cdstp); + cpu_cpwait(); + bcopy((char *)csrcp + a_offs, (char *)cdstp + b_offs, cnt); + mtx_unlock(&cmtx); + cpu_dcache_inv_range(csrcp + a_offs, cnt); + cpu_dcache_wbinv_range(cdstp + b_offs, cnt); + cpu_l2cache_inv_range(csrcp + a_offs, cnt); + cpu_l2cache_wbinv_range(cdstp + b_offs, cnt); +} #endif /* (ARM_MMU_GENERIC + ARM_MMU_SA1) != 0 */ #if ARM_MMU_XSCALE == 1 @@ -4345,6 +4381,28 @@ pmap_copy_page_xscale(vm_paddr_t src, vm_paddr_t dst) mtx_unlock(&cmtx); xscale_cache_clean_minidata(); } + +void +pmap_copy_page_offs_xscale(vm_paddr_t a_phys, vm_offset_t a_offs, + vm_paddr_t b_phys, vm_offset_t b_offs, int cnt) +{ + + mtx_lock(&cmtx); + *csrc_pte = L2_S_PROTO | a_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_READ) | + L2_C | L2_XSCALE_T_TEX(TEX_XSCALE_X); + PTE_SYNC(csrc_pte); + *cdst_pte = L2_S_PROTO | b_phys | + L2_S_PROT(PTE_KERNEL, VM_PROT_WRITE) | + L2_C | L2_XSCALE_T_TEX(TEX_XSCALE_X); + PTE_SYNC(cdst_pte); + cpu_tlb_flushD_SE(csrcp); + cpu_tlb_flushD_SE(cdstp); + cpu_cpwait(); + bcopy((char *)csrcp + a_offs, (char *)cdstp + b_offs, cnt); + mtx_unlock(&cmtx); + xscale_cache_clean_minidata(); +} #endif /* ARM_MMU_XSCALE == 1 */ void @@ -4371,8 +4429,38 @@ pmap_copy_page(vm_page_t src, vm_page_t dst) #endif } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + vm_page_t a_pg, b_pg; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; +#ifdef ARM_USE_SMALL_ALLOC + vm_offset_t a_va, b_va; +#endif - + cpu_dcache_wbinv_all(); + cpu_l2cache_wbinv_all(); + while (xfersize > 0) { + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); +#ifdef ARM_USE_SMALL_ALLOC + a_va = arm_ptovirt(VM_PAGE_TO_PHYS(a_pg)) + a_pg_offset; + b_va = arm_ptovirt(VM_PAGE_TO_PHYS(b_pg)) + b_pg_offset; + bcopy((char *)a_va, (char *)b_va, cnt); + cpu_dcache_wbinv_range(b_va, cnt); + cpu_l2cache_wbinv_range(b_va, cnt); +#else + pmap_copy_page_offs_func(VM_PAGE_TO_PHYS(a_pg), a_pg_offset, + VM_PAGE_TO_PHYS(b_pg), b_pg_offset, cnt); +#endif + } +} /* * this routine returns true if a physical page resides diff --git a/sys/arm/include/pmap.h b/sys/arm/include/pmap.h index 523499f..7c8d073 100644 --- a/sys/arm/include/pmap.h +++ b/sys/arm/include/pmap.h @@ -533,6 +533,8 @@ extern pt_entry_t pte_l1_c_proto; extern pt_entry_t pte_l2_s_proto; extern void (*pmap_copy_page_func)(vm_paddr_t, vm_paddr_t); +extern void (*pmap_copy_page_offs_func)(vm_paddr_t a_phys, + vm_offset_t a_offs, vm_paddr_t b_phys, vm_offset_t b_offs, int cnt); extern void (*pmap_zero_page_func)(vm_paddr_t, int, int); #if (ARM_MMU_GENERIC + ARM_MMU_V6 + ARM_MMU_V7 + ARM_MMU_SA1) != 0 || defined(CPU_XSCALE_81342) diff --git a/sys/cam/ata/ata_da.c b/sys/cam/ata/ata_da.c index 4252197..c700e7c 100644 --- a/sys/cam/ata/ata_da.c +++ b/sys/cam/ata/ata_da.c @@ -1167,6 +1167,8 @@ adaregister(struct cam_periph *periph, void *arg) ((softc->flags & ADA_FLAG_CAN_CFA) && !(softc->flags & ADA_FLAG_CAN_48BIT))) softc->disk->d_flags |= DISKFLAG_CANDELETE; + if ((cpi.hba_misc & PIM_UNMAPPED) != 0) + softc->disk->d_flags |= DISKFLAG_UNMAPPED_BIO; strlcpy(softc->disk->d_descr, cgd->ident_data.model, MIN(sizeof(softc->disk->d_descr), sizeof(cgd->ident_data.model))); strlcpy(softc->disk->d_ident, cgd->ident_data.serial, @@ -1431,13 +1433,19 @@ adastart(struct cam_periph *periph, union ccb *start_ccb) return; } #endif + KASSERT((bp->bio_flags & BIO_UNMAPPED) == 0 || + round_page(bp->bio_bcount + bp->bio_ma_offset) / + PAGE_SIZE == bp->bio_ma_n, + ("Short bio %p", bp)); cam_fill_ataio(ataio, ada_retry_count, adadone, - bp->bio_cmd == BIO_READ ? - CAM_DIR_IN : CAM_DIR_OUT, + (bp->bio_cmd == BIO_READ ? CAM_DIR_IN : + CAM_DIR_OUT) | ((bp->bio_flags & BIO_UNMAPPED) + != 0 ? CAM_DATA_BIO : 0), tag_code, - bp->bio_data, + ((bp->bio_flags & BIO_UNMAPPED) != 0) ? (void *)bp : + bp->bio_data, bp->bio_bcount, ada_default_timeout*1000); diff --git a/sys/cam/cam_ccb.h b/sys/cam/cam_ccb.h index a80880a..bcbf414 100644 --- a/sys/cam/cam_ccb.h +++ b/sys/cam/cam_ccb.h @@ -42,7 +42,6 @@ #include #include - /* General allocation length definitions for CCB structures */ #define IOCDBLEN CAM_MAX_CDBLEN /* Space for CDB bytes/pointer */ #define VUHBALEN 14 /* Vendor Unique HBA length */ @@ -572,7 +571,8 @@ typedef enum { PIM_NOINITIATOR = 0x20, /* Initiator role not supported. */ PIM_NOBUSRESET = 0x10, /* User has disabled initial BUS RESET */ PIM_NO_6_BYTE = 0x08, /* Do not send 6-byte commands */ - PIM_SEQSCAN = 0x04 /* Do bus scans sequentially, not in parallel */ + PIM_SEQSCAN = 0x04, /* Do bus scans sequentially, not in parallel */ + PIM_UNMAPPED = 0x02, } pi_miscflag; /* Path Inquiry CCB */ diff --git a/sys/cam/cam_periph.c b/sys/cam/cam_periph.c index 523e549..fa4fa04 100644 --- a/sys/cam/cam_periph.c +++ b/sys/cam/cam_periph.c @@ -734,6 +734,8 @@ cam_periph_mapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo) case XPT_CONT_TARGET_IO: if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) return(0); + KASSERT((ccb->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR, + ("not VADDR for SCSI_IO %p %x\n", ccb, ccb->ccb_h.flags)); data_ptrs[0] = &ccb->csio.data_ptr; lengths[0] = ccb->csio.dxfer_len; @@ -743,6 +745,8 @@ cam_periph_mapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo) case XPT_ATA_IO: if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) return(0); + KASSERT((ccb->ccb_h.flags & CAM_DATA_MASK) == CAM_DATA_VADDR, + ("not VADDR for ATA_IO %p %x\n", ccb, ccb->ccb_h.flags)); data_ptrs[0] = &ccb->ataio.data_ptr; lengths[0] = ccb->ataio.dxfer_len; @@ -846,7 +850,7 @@ cam_periph_mapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo) * into a larger area of VM, or if userland races against * vmapbuf() after the useracc() check. */ - if (vmapbuf(mapinfo->bp[i]) < 0) { + if (vmapbuf(mapinfo->bp[i], 1) < 0) { for (j = 0; j < i; ++j) { *data_ptrs[j] = mapinfo->bp[j]->b_saveaddr; vunmapbuf(mapinfo->bp[j]); diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c index 9dac9c0..332732f 100644 --- a/sys/cam/scsi/scsi_all.c +++ b/sys/cam/scsi/scsi_all.c @@ -5679,7 +5679,11 @@ scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, u_int8_t *data_ptr, u_int32_t dxfer_len, u_int8_t sense_len, u_int32_t timeout) { + int read; u_int8_t cdb_len; + + read = (readop & SCSI_RW_DIRMASK) == SCSI_RW_READ; + /* * Use the smallest possible command to perform the operation * as some legacy hardware does not support the 10 byte commands. @@ -5696,7 +5700,7 @@ scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, struct scsi_rw_6 *scsi_cmd; scsi_cmd = (struct scsi_rw_6 *)&csio->cdb_io.cdb_bytes; - scsi_cmd->opcode = readop ? READ_6 : WRITE_6; + scsi_cmd->opcode = read ? READ_6 : WRITE_6; scsi_ulto3b(lba, scsi_cmd->addr); scsi_cmd->length = block_count & 0xff; scsi_cmd->control = 0; @@ -5715,7 +5719,7 @@ scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, struct scsi_rw_10 *scsi_cmd; scsi_cmd = (struct scsi_rw_10 *)&csio->cdb_io.cdb_bytes; - scsi_cmd->opcode = readop ? READ_10 : WRITE_10; + scsi_cmd->opcode = read ? READ_10 : WRITE_10; scsi_cmd->byte2 = byte2; scsi_ulto4b(lba, scsi_cmd->addr); scsi_cmd->reserved = 0; @@ -5738,7 +5742,7 @@ scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, struct scsi_rw_12 *scsi_cmd; scsi_cmd = (struct scsi_rw_12 *)&csio->cdb_io.cdb_bytes; - scsi_cmd->opcode = readop ? READ_12 : WRITE_12; + scsi_cmd->opcode = read ? READ_12 : WRITE_12; scsi_cmd->byte2 = byte2; scsi_ulto4b(lba, scsi_cmd->addr); scsi_cmd->reserved = 0; @@ -5760,7 +5764,7 @@ scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, struct scsi_rw_16 *scsi_cmd; scsi_cmd = (struct scsi_rw_16 *)&csio->cdb_io.cdb_bytes; - scsi_cmd->opcode = readop ? READ_16 : WRITE_16; + scsi_cmd->opcode = read ? READ_16 : WRITE_16; scsi_cmd->byte2 = byte2; scsi_u64to8b(lba, scsi_cmd->addr); scsi_cmd->reserved = 0; @@ -5771,7 +5775,8 @@ scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, cam_fill_csio(csio, retries, cbfcnp, - /*flags*/readop ? CAM_DIR_IN : CAM_DIR_OUT, + (read ? CAM_DIR_IN : CAM_DIR_OUT) | + ((readop & SCSI_RW_BIO) != 0 ? CAM_DATA_BIO : 0), tag_action, data_ptr, dxfer_len, diff --git a/sys/cam/scsi/scsi_all.h b/sys/cam/scsi/scsi_all.h index 0693e1c..330330d 100644 --- a/sys/cam/scsi/scsi_all.h +++ b/sys/cam/scsi/scsi_all.h @@ -2354,6 +2354,10 @@ void scsi_write_buffer(struct ccb_scsiio *csio, u_int32_t retries, uint8_t *data_ptr, uint32_t param_list_length, uint8_t sense_len, uint32_t timeout); +#define SCSI_RW_READ 0x0001 +#define SCSI_RW_WRITE 0x0002 +#define SCSI_RW_DIRMASK 0x0003 +#define SCSI_RW_BIO 0x1000 void scsi_read_write(struct ccb_scsiio *csio, u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), u_int8_t tag_action, int readop, u_int8_t byte2, diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c index a7c4c5b..a6d340f 100644 --- a/sys/cam/scsi/scsi_cd.c +++ b/sys/cam/scsi/scsi_cd.c @@ -1575,7 +1575,8 @@ cdstart(struct cam_periph *periph, union ccb *start_ccb) /*retries*/ cd_retry_count, /* cbfcnp */ cddone, MSG_SIMPLE_Q_TAG, - /* read */bp->bio_cmd == BIO_READ, + /* read */bp->bio_cmd == BIO_READ ? + SCSI_RW_READ : SCSI_RW_WRITE, /* byte2 */ 0, /* minimum_cmd_size */ 10, /* lba */ bp->bio_offset / diff --git a/sys/cam/scsi/scsi_da.c b/sys/cam/scsi/scsi_da.c index 7854215..c886e9e 100644 --- a/sys/cam/scsi/scsi_da.c +++ b/sys/cam/scsi/scsi_da.c @@ -1180,7 +1180,7 @@ dadump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t leng /*retries*/0, dadone, MSG_ORDERED_Q_TAG, - /*read*/FALSE, + /*read*/SCSI_RW_WRITE, /*byte2*/0, /*minimum_cmd_size*/ softc->minimum_cmd_size, offset / secsize, @@ -1753,6 +1753,8 @@ daregister(struct cam_periph *periph, void *arg) softc->disk->d_flags = 0; if ((softc->quirks & DA_Q_NO_SYNC_CACHE) == 0) softc->disk->d_flags |= DISKFLAG_CANFLUSHCACHE; + if ((cpi.hba_misc & PIM_UNMAPPED) != 0) + softc->disk->d_flags |= DISKFLAG_UNMAPPED_BIO; cam_strvis(softc->disk->d_descr, cgd->inq_data.vendor, sizeof(cgd->inq_data.vendor), sizeof(softc->disk->d_descr)); strlcat(softc->disk->d_descr, " ", sizeof(softc->disk->d_descr)); @@ -1981,14 +1983,18 @@ dastart(struct cam_periph *periph, union ccb *start_ccb) /*retries*/da_retry_count, /*cbfcnp*/dadone, /*tag_action*/tag_code, - /*read_op*/bp->bio_cmd - == BIO_READ, + /*read_op*/(bp->bio_cmd == BIO_READ ? + SCSI_RW_READ : SCSI_RW_WRITE) | + ((bp->bio_flags & BIO_UNMAPPED) != 0 ? + SCSI_RW_BIO : 0), /*byte2*/0, softc->minimum_cmd_size, /*lba*/bp->bio_pblkno, /*block_count*/bp->bio_bcount / softc->params.secsize, - /*data_ptr*/ bp->bio_data, + /*data_ptr*/ (bp->bio_flags & + BIO_UNMAPPED) != 0 ? (void *)bp : + bp->bio_data, /*dxfer_len*/ bp->bio_bcount, /*sense_len*/SSD_FULL_SIZE, da_default_timeout * 1000); diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c index 8e692bd..d03c8af 100644 --- a/sys/dev/ahci/ahci.c +++ b/sys/dev/ahci/ahci.c @@ -2903,7 +2903,7 @@ ahciaction(struct cam_sim *sim, union ccb *ccb) if (ch->caps & AHCI_CAP_SPM) cpi->hba_inquiry |= PI_SATAPM; cpi->target_sprt = 0; - cpi->hba_misc = PIM_SEQSCAN; + cpi->hba_misc = PIM_SEQSCAN | PIM_UNMAPPED; cpi->hba_eng_cnt = 0; if (ch->caps & AHCI_CAP_SPM) cpi->max_target = 15; diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index b72f294..eccb1ee 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -110,6 +110,19 @@ static int md_malloc_wait; SYSCTL_INT(_vm, OID_AUTO, md_malloc_wait, CTLFLAG_RW, &md_malloc_wait, 0, "Allow malloc to wait for memory allocations"); +static int md_unmapped_swap; +SYSCTL_INT(_debug, OID_AUTO, md_unmapped_swap, CTLFLAG_RD, + &md_unmapped_swap, 0, + ""); +static int md_unmapped_vnode; +SYSCTL_INT(_debug, OID_AUTO, md_unmapped_vnode, CTLFLAG_RD, + &md_unmapped_vnode, 0, + ""); +static int md_unmapped_malloc; +SYSCTL_INT(_debug, OID_AUTO, md_unmapped_malloc, CTLFLAG_RD, + &md_unmapped_malloc, 0, + ""); + #if defined(MD_ROOT) && !defined(MD_ROOT_FSTYPE) #define MD_ROOT_FSTYPE "ufs" #endif @@ -414,13 +427,103 @@ g_md_start(struct bio *bp) wakeup(sc); } +#define MD_MALLOC_MOVE_ZERO 1 +#define MD_MALLOC_MOVE_FILL 2 +#define MD_MALLOC_MOVE_READ 3 +#define MD_MALLOC_MOVE_WRITE 4 +#define MD_MALLOC_MOVE_CMP 5 + +static int +md_malloc_move(vm_page_t **mp, vm_offset_t *ma_offs, unsigned sectorsize, + void *ptr, u_char fill, int op) +{ + struct sf_buf *sf; + vm_page_t m, *mp1; + char *p, first; + vm_offset_t ma_offs1; + off_t *uc; + unsigned n; + int error, i, sz, first_read; + + m = NULL; + error = 0; + sf = NULL; + /* if (op == MD_MALLOC_MOVE_CMP) { gcc */ + first = 0; + first_read = 0; + uc = ptr; + mp1 = *mp; + ma_offs1 = *ma_offs; + /* } */ + sched_pin(); + for (n = sectorsize; n != 0; n -= sz) { + sz = imin(PAGE_SIZE - *ma_offs, n); + if (m != **mp) { + if (sf != NULL) + sf_buf_free(sf); + m = **mp; + sf = sf_buf_alloc(m, SFB_CPUPRIVATE | + (md_malloc_wait ? 0 : SFB_NOWAIT)); + if (sf == NULL) { + error = ENOMEM; + break; + } + } + p = (char *)sf_buf_kva(sf) + *ma_offs; + switch (op) { + case MD_MALLOC_MOVE_ZERO: + bzero(p, sz); + break; + case MD_MALLOC_MOVE_FILL: + memset(p, fill, sz); + break; + case MD_MALLOC_MOVE_READ: + bcopy(ptr, p, sz); + cpu_flush_dcache(p, sz); + break; + case MD_MALLOC_MOVE_WRITE: + bcopy(p, ptr, sz); + break; + case MD_MALLOC_MOVE_CMP: + for (i = 0; i < sz; i++, p++) { + if (!first_read) { + *uc = (u_char)*p; + first = (u_char)*p; + first_read = 1; + } else if (*p != first) { + error = EDOOFUS; + break; + } + } + break; + } + if (error != 0) + break; + *ma_offs += sz; + *ma_offs %= PAGE_SIZE; + if (*ma_offs == 0) + (*mp)++; + } + + if (sf != NULL) + sf_buf_free(sf); + sched_unpin(); + if (op == MD_MALLOC_MOVE_CMP && error != 0) { + *mp = mp1; + *ma_offs = ma_offs1; + } + return (error); +} + static int mdstart_malloc(struct md_s *sc, struct bio *bp) { - int i, error; u_char *dst; + vm_page_t *m; + int i, error, error1, notmapped; off_t secno, nsec, uc; uintptr_t sp, osp; + vm_offset_t ma_offs; switch (bp->bio_cmd) { case BIO_READ: @@ -431,9 +534,17 @@ mdstart_malloc(struct md_s *sc, struct bio *bp) return (EOPNOTSUPP); } + notmapped = (bp->bio_flags & BIO_UNMAPPED) != 0; + if (notmapped) { + m = bp->bio_ma; + ma_offs = bp->bio_ma_offset; + dst = NULL; + } else { + dst = bp->bio_data; + } + nsec = bp->bio_length / sc->sectorsize; secno = bp->bio_offset / sc->sectorsize; - dst = bp->bio_data; error = 0; while (nsec--) { osp = s_read(sc->indir, secno); @@ -441,21 +552,45 @@ mdstart_malloc(struct md_s *sc, struct bio *bp) if (osp != 0) error = s_write(sc->indir, secno, 0); } else if (bp->bio_cmd == BIO_READ) { - if (osp == 0) - bzero(dst, sc->sectorsize); - else if (osp <= 255) - memset(dst, osp, sc->sectorsize); - else { - bcopy((void *)osp, dst, sc->sectorsize); - cpu_flush_dcache(dst, sc->sectorsize); + if (osp == 0) { + if (notmapped) { + error = md_malloc_move(&m, &ma_offs, + sc->sectorsize, NULL, 0, + MD_MALLOC_MOVE_ZERO); + } else + bzero(dst, sc->sectorsize); + } else if (osp <= 255) { + if (notmapped) { + error = md_malloc_move(&m, &ma_offs, + sc->sectorsize, NULL, osp, + MD_MALLOC_MOVE_FILL); + } else + memset(dst, osp, sc->sectorsize); + } else { + if (notmapped) { + error = md_malloc_move(&m, &ma_offs, + sc->sectorsize, (void *)osp, 0, + MD_MALLOC_MOVE_READ); + } else { + bcopy((void *)osp, dst, sc->sectorsize); + cpu_flush_dcache(dst, sc->sectorsize); + } } osp = 0; } else if (bp->bio_cmd == BIO_WRITE) { if (sc->flags & MD_COMPRESS) { - uc = dst[0]; - for (i = 1; i < sc->sectorsize; i++) - if (dst[i] != uc) - break; + if (notmapped) { + error1 = md_malloc_move(&m, &ma_offs, + sc->sectorsize, &uc, 0, + MD_MALLOC_MOVE_CMP); + i = error1 == 0 ? sc->sectorsize : 0; + } else { + uc = dst[0]; + for (i = 1; i < sc->sectorsize; i++) { + if (dst[i] != uc) + break; + } + } } else { i = 0; uc = 0; @@ -472,10 +607,26 @@ mdstart_malloc(struct md_s *sc, struct bio *bp) error = ENOSPC; break; } - bcopy(dst, (void *)sp, sc->sectorsize); + if (notmapped) { + error = md_malloc_move(&m, + &ma_offs, sc->sectorsize, + (void *)sp, 0, + MD_MALLOC_MOVE_WRITE); + } else { + bcopy(dst, (void *)sp, + sc->sectorsize); + } error = s_write(sc->indir, secno, sp); } else { - bcopy(dst, (void *)osp, sc->sectorsize); + if (notmapped) { + error = md_malloc_move(&m, + &ma_offs, sc->sectorsize, + (void *)osp, 0, + MD_MALLOC_MOVE_WRITE); + } else { + bcopy(dst, (void *)osp, + sc->sectorsize); + } osp = 0; } } @@ -487,7 +638,8 @@ mdstart_malloc(struct md_s *sc, struct bio *bp) if (error != 0) break; secno++; - dst += sc->sectorsize; + if (!notmapped) + dst += sc->sectorsize; } bp->bio_resid = 0; return (error); @@ -628,11 +780,10 @@ mdstart_vnode(struct md_s *sc, struct bio *bp) static int mdstart_swap(struct md_s *sc, struct bio *bp) { - struct sf_buf *sf; - int rv, offs, len, lastend; - vm_pindex_t i, lastp; vm_page_t m; u_char *p; + vm_pindex_t i, lastp; + int rv, ma_offs, offs, len, lastend; switch (bp->bio_cmd) { case BIO_READ: @@ -644,6 +795,12 @@ mdstart_swap(struct md_s *sc, struct bio *bp) } p = bp->bio_data; + if ((bp->bio_flags & BIO_UNMAPPED) == 0) { + ma_offs = 0; + } else { + atomic_add_int(&md_unmapped_swap, 1); + ma_offs = bp->bio_ma_offset; + } /* * offs is the offset at which to start operating on the @@ -661,19 +818,12 @@ mdstart_swap(struct md_s *sc, struct bio *bp) vm_object_pip_add(sc->object, 1); for (i = bp->bio_offset / PAGE_SIZE; i <= lastp; i++) { len = ((i == lastp) ? lastend : PAGE_SIZE) - offs; - - m = vm_page_grab(sc->object, i, - VM_ALLOC_NORMAL|VM_ALLOC_RETRY); - VM_OBJECT_UNLOCK(sc->object); - sched_pin(); - sf = sf_buf_alloc(m, SFB_CPUPRIVATE); - VM_OBJECT_LOCK(sc->object); + m = vm_page_grab(sc->object, i, VM_ALLOC_NORMAL | + VM_ALLOC_RETRY); if (bp->bio_cmd == BIO_READ) { if (m->valid != VM_PAGE_BITS_ALL) rv = vm_pager_get_pages(sc->object, &m, 1, 0); if (rv == VM_PAGER_ERROR) { - sf_buf_free(sf); - sched_unpin(); vm_page_wakeup(m); break; } else if (rv == VM_PAGER_FAIL) { @@ -683,40 +833,44 @@ mdstart_swap(struct md_s *sc, struct bio *bp) * valid. Do not set dirty, the page * can be recreated if thrown out. */ - bzero((void *)sf_buf_kva(sf), PAGE_SIZE); + pmap_zero_page(m); m->valid = VM_PAGE_BITS_ALL; } - bcopy((void *)(sf_buf_kva(sf) + offs), p, len); - cpu_flush_dcache(p, len); + if ((bp->bio_flags & BIO_UNMAPPED) != 0) { + pmap_copy_pages(&m, offs, bp->bio_ma, + ma_offs, len); + } else { + physcopyout(VM_PAGE_TO_PHYS(m) + offs, p, len); + cpu_flush_dcache(p, len); + } } else if (bp->bio_cmd == BIO_WRITE) { if (len != PAGE_SIZE && m->valid != VM_PAGE_BITS_ALL) rv = vm_pager_get_pages(sc->object, &m, 1, 0); if (rv == VM_PAGER_ERROR) { - sf_buf_free(sf); - sched_unpin(); vm_page_wakeup(m); break; } - bcopy(p, (void *)(sf_buf_kva(sf) + offs), len); + if ((bp->bio_flags & BIO_UNMAPPED) != 0) { + pmap_copy_pages(bp->bio_ma, ma_offs, &m, + offs, len); + } else { + physcopyin(p, VM_PAGE_TO_PHYS(m) + offs, len); + } m->valid = VM_PAGE_BITS_ALL; } else if (bp->bio_cmd == BIO_DELETE) { if (len != PAGE_SIZE && m->valid != VM_PAGE_BITS_ALL) rv = vm_pager_get_pages(sc->object, &m, 1, 0); if (rv == VM_PAGER_ERROR) { - sf_buf_free(sf); - sched_unpin(); vm_page_wakeup(m); break; } if (len != PAGE_SIZE) { - bzero((void *)(sf_buf_kva(sf) + offs), len); + pmap_zero_page_area(m, offs, len); vm_page_clear_dirty(m, offs, len); m->valid = VM_PAGE_BITS_ALL; } else vm_pager_page_unswapped(m); } - sf_buf_free(sf); - sched_unpin(); vm_page_wakeup(m); vm_page_lock(m); if (bp->bio_cmd == BIO_DELETE && len == PAGE_SIZE) @@ -730,6 +884,7 @@ mdstart_swap(struct md_s *sc, struct bio *bp) /* Actions on further pages start at offset 0 */ p += PAGE_SIZE - offs; offs = 0; + ma_offs += len; } vm_object_pip_subtract(sc->object, 1); VM_OBJECT_UNLOCK(sc->object); @@ -845,6 +1000,14 @@ mdinit(struct md_s *sc) pp = g_new_providerf(gp, "md%d", sc->unit); pp->mediasize = sc->mediasize; pp->sectorsize = sc->sectorsize; + switch (sc->type) { + case MD_SWAP: + case MD_MALLOC: + pp->flags |= G_PF_ACCEPT_UNMAPPED; + break; + default: + break; + } sc->gp = gp; sc->pp = pp; g_error_provider(pp, 0); diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index 21ee0fc..47d4f75 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -329,7 +329,7 @@ cd9660_read(ap) if (lblktosize(imp, rablock) < ip->i_size) error = cluster_read(vp, (off_t)ip->i_size, lbn, size, NOCRED, uio->uio_resid, - (ap->a_ioflag >> 16), &bp); + (ap->a_ioflag >> 16), 0, &bp); else error = bread(vp, lbn, size, NOCRED, &bp); } else { diff --git a/sys/fs/ext2fs/ext2_balloc.c b/sys/fs/ext2fs/ext2_balloc.c index 1c0cc0e..88ad710 100644 --- a/sys/fs/ext2fs/ext2_balloc.c +++ b/sys/fs/ext2fs/ext2_balloc.c @@ -276,7 +276,7 @@ ext2_balloc(struct inode *ip, int32_t lbn, int size, struct ucred *cred, if (seqcount && (vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, (int)fs->e2fs_bsize, NOCRED, - MAXBSIZE, seqcount, &nbp); + MAXBSIZE, seqcount, 0, &nbp); } else { error = bread(vp, lbn, (int)fs->e2fs_bsize, NOCRED, &nbp); } diff --git a/sys/fs/ext2fs/ext2_vnops.c b/sys/fs/ext2fs/ext2_vnops.c index 1c0b7a1..77eb74b 100644 --- a/sys/fs/ext2fs/ext2_vnops.c +++ b/sys/fs/ext2fs/ext2_vnops.c @@ -1618,10 +1618,11 @@ ext2_read(struct vop_read_args *ap) if (lblktosize(fs, nextlbn) >= ip->i_size) error = bread(vp, lbn, size, NOCRED, &bp); - else if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) + else if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, size, - NOCRED, blkoffset + uio->uio_resid, seqcount, &bp); - else if (seqcount > 1) { + NOCRED, blkoffset + uio->uio_resid, seqcount, + 0, &bp); + } else if (seqcount > 1) { int nextsize = blksize(fs, ip, nextlbn); error = breadn(vp, lbn, size, &nextlbn, &nextsize, 1, NOCRED, &bp); @@ -1831,7 +1832,7 @@ ext2_write(struct vop_write_args *ap) } else if (xfersize + blkoffset == fs->e2fs_fsize) { if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERW) == 0) { bp->b_flags |= B_CLUSTEROK; - cluster_write(vp, bp, ip->i_size, seqcount); + cluster_write(vp, bp, ip->i_size, seqcount, 0); } else { bawrite(bp); } diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 8e045cb..213ae81 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -600,7 +600,7 @@ msdosfs_read(ap) error = bread(vp, lbn, blsize, NOCRED, &bp); } else if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, dep->de_FileSize, lbn, blsize, - NOCRED, on + uio->uio_resid, seqcount, &bp); + NOCRED, on + uio->uio_resid, seqcount, 0, &bp); } else if (seqcount > 1) { rasize = blsize; error = breadn(vp, lbn, @@ -820,7 +820,7 @@ msdosfs_write(ap) else if (n + croffset == pmp->pm_bpcluster) { if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERW) == 0) cluster_write(vp, bp, dep->de_FileSize, - seqcount); + seqcount, 0); else bawrite(bp); } else diff --git a/sys/fs/udf/udf_vnops.c b/sys/fs/udf/udf_vnops.c index b1a3b1d..abe073e 100644 --- a/sys/fs/udf/udf_vnops.c +++ b/sys/fs/udf/udf_vnops.c @@ -478,8 +478,9 @@ udf_read(struct vop_read_args *ap) rablock = lbn + 1; if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { if (lblktosize(udfmp, rablock) < fsize) { - error = cluster_read(vp, fsize, lbn, size, NOCRED, - uio->uio_resid, (ap->a_ioflag >> 16), &bp); + error = cluster_read(vp, fsize, lbn, size, + NOCRED, uio->uio_resid, + (ap->a_ioflag >> 16), 0, &bp); } else { error = bread(vp, lbn, size, NOCRED, &bp); } diff --git a/sys/geom/geom.h b/sys/geom/geom.h index 351b05d..660bf6e 100644 --- a/sys/geom/geom.h +++ b/sys/geom/geom.h @@ -205,6 +205,7 @@ struct g_provider { u_int flags; #define G_PF_WITHER 0x2 #define G_PF_ORPHAN 0x4 +#define G_PF_ACCEPT_UNMAPPED 0x8 /* Two fields for the implementing class to use */ void *private; diff --git a/sys/geom/geom_disk.c b/sys/geom/geom_disk.c index 72e9162..7fec9da 100644 --- a/sys/geom/geom_disk.c +++ b/sys/geom/geom_disk.c @@ -320,13 +320,29 @@ g_disk_start(struct bio *bp) do { bp2->bio_offset += off; bp2->bio_length -= off; - bp2->bio_data += off; + if ((bp->bio_flags & BIO_UNMAPPED) == 0) { + bp2->bio_data += off; + } else { + KASSERT((dp->d_flags & DISKFLAG_UNMAPPED_BIO) + != 0, + ("unmapped bio not supported by disk %s", + dp->d_name)); + bp2->bio_ma += off / PAGE_SIZE; + bp2->bio_ma_offset += off; + bp2->bio_ma_offset %= PAGE_SIZE; + bp2->bio_ma_n -= off / PAGE_SIZE; + } if (bp2->bio_length > dp->d_maxsize) { /* * XXX: If we have a stripesize we should really * use it here. */ bp2->bio_length = dp->d_maxsize; + if ((bp->bio_flags & BIO_UNMAPPED) != 0) { + bp2->bio_ma_n = howmany( + bp2->bio_ma_offset + + bp2->bio_length, PAGE_SIZE); + } off += dp->d_maxsize; /* * To avoid a race, we need to grab the next bio @@ -488,6 +504,8 @@ g_disk_create(void *arg, int flag) pp->sectorsize = dp->d_sectorsize; pp->stripeoffset = dp->d_stripeoffset; pp->stripesize = dp->d_stripesize; + if ((dp->d_flags & DISKFLAG_UNMAPPED_BIO) != 0) + pp->flags |= G_PF_ACCEPT_UNMAPPED; if (bootverbose) printf("GEOM: new disk %s\n", gp->name); sysctl_ctx_init(&sc->sysctl_ctx); diff --git a/sys/geom/geom_disk.h b/sys/geom/geom_disk.h index 33d8eb2..246fc49 100644 --- a/sys/geom/geom_disk.h +++ b/sys/geom/geom_disk.h @@ -103,6 +103,7 @@ struct disk { #define DISKFLAG_OPEN 0x2 #define DISKFLAG_CANDELETE 0x4 #define DISKFLAG_CANFLUSHCACHE 0x8 +#define DISKFLAG_UNMAPPED_BIO 0x10 struct disk *disk_alloc(void); void disk_create(struct disk *disk, int version); diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index c6a5da8..4c84bcc 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -51,6 +52,13 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include +#include +#include +#include +#include +#include static struct g_bioq g_bio_run_down; static struct g_bioq g_bio_run_up; @@ -180,12 +188,17 @@ g_clone_bio(struct bio *bp) /* * BIO_ORDERED flag may be used by disk drivers to enforce * ordering restrictions, so this flag needs to be cloned. + * BIO_UNMAPPED should be inherited, to properly indicate + * which way the buffer is passed. * Other bio flags are not suitable for cloning. */ - bp2->bio_flags = bp->bio_flags & BIO_ORDERED; + bp2->bio_flags = bp->bio_flags & (BIO_ORDERED | BIO_UNMAPPED); bp2->bio_length = bp->bio_length; bp2->bio_offset = bp->bio_offset; bp2->bio_data = bp->bio_data; + bp2->bio_ma = bp->bio_ma; + bp2->bio_ma_n = bp->bio_ma_n; + bp2->bio_ma_offset = bp->bio_ma_offset; bp2->bio_attribute = bp->bio_attribute; /* Inherit classification info from the parent */ bp2->bio_classifier1 = bp->bio_classifier1; @@ -210,11 +223,15 @@ g_duplicate_bio(struct bio *bp) struct bio *bp2; bp2 = uma_zalloc(biozone, M_WAITOK | M_ZERO); + bp2->bio_flags = bp->bio_flags & BIO_UNMAPPED; bp2->bio_parent = bp; bp2->bio_cmd = bp->bio_cmd; bp2->bio_length = bp->bio_length; bp2->bio_offset = bp->bio_offset; bp2->bio_data = bp->bio_data; + bp2->bio_ma = bp->bio_ma; + bp2->bio_ma_n = bp->bio_ma_n; + bp2->bio_ma_offset = bp->bio_ma_offset; bp2->bio_attribute = bp->bio_attribute; bp->bio_children++; #ifdef KTR @@ -575,6 +592,76 @@ g_io_deliver(struct bio *bp, int error) return; } +SYSCTL_DECL(_kern_geom); + +static long transient_maps; +SYSCTL_LONG(_kern_geom, OID_AUTO, transient_maps, CTLFLAG_RD, + &transient_maps, 0, + ""); +int transient_map_retries; +SYSCTL_INT(_kern_geom, OID_AUTO, transient_map_retries, CTLFLAG_RD, + &transient_map_retries, 0, + ""); +int transient_map_failures; +SYSCTL_INT(_kern_geom, OID_AUTO, transient_map_failures, CTLFLAG_RD, + &transient_map_failures, 0, + ""); +int inflight_transient_maps; +SYSCTL_INT(_kern_geom, OID_AUTO, inflight_transient_maps, CTLFLAG_RD, + &inflight_transient_maps, 0, + ""); + +static int +g_io_transient_map_bio(struct bio *bp) +{ + vm_offset_t addr; + long size; + int retried, rv; + + size = round_page(bp->bio_ma_offset + bp->bio_length); + KASSERT(size / PAGE_SIZE == bp->bio_ma_n, ("Bio too short %p", bp)); + addr = 0; + retried = 0; + atomic_add_long(&transient_maps, 1); +retry: + vm_map_lock(bio_transient_map); + if (vm_map_findspace(bio_transient_map, vm_map_min(bio_transient_map), + size, &addr)) { + vm_map_unlock(bio_transient_map); + if (retried >= 3) { + g_io_deliver(bp, EDEADLK/* XXXKIB */); + CTR2(KTR_GEOM, "g_down cannot map bp %p provider %s", + bp, bp->bio_to->name); + atomic_add_int(&transient_map_failures, 1); + return (1); + } else { + /* + * Naive attempt to quisce the I/O to get more + * in-flight requests completed and defragment + * the bio_transient_map. + */ + CTR3(KTR_GEOM, "g_down retrymap bp %p provider %s r %d", + bp, bp->bio_to->name, retried); + pause("g_d_tra", hz / 10); + retried++; + atomic_add_int(&transient_map_retries, 1); + goto retry; + } + } + rv = vm_map_insert(bio_transient_map, NULL, 0, addr, addr + size, + VM_PROT_RW, VM_PROT_RW, MAP_NOFAULT); + KASSERT(rv == KERN_SUCCESS, + ("vm_map_insert(bio_transient_map) rv %d %jx %lx", + rv, (uintmax_t)addr, size)); + vm_map_unlock(bio_transient_map); + atomic_add_int(&inflight_transient_maps, 1); + pmap_qenter((vm_offset_t)addr, bp->bio_ma, OFF_TO_IDX(size)); + bp->bio_data = (caddr_t)addr + bp->bio_ma_offset; + bp->bio_flags |= BIO_TRANSIENT_MAPPING; + bp->bio_flags &= ~BIO_UNMAPPED; + return (0); +} + void g_io_schedule_down(struct thread *tp __unused) { @@ -636,6 +723,12 @@ g_io_schedule_down(struct thread *tp __unused) default: break; } + if ((bp->bio_flags & BIO_UNMAPPED) != 0 && + (bp->bio_to->flags & G_PF_ACCEPT_UNMAPPED) == 0 && + (bp->bio_cmd == BIO_READ || bp->bio_cmd == BIO_WRITE)) { + if (g_io_transient_map_bio(bp)) + continue; + } THREAD_NO_SLEEPING(); CTR4(KTR_GEOM, "g_down starting bp %p provider %s off %ld " "len %ld", bp, bp->bio_to->name, bp->bio_offset, diff --git a/sys/geom/geom_vfs.c b/sys/geom/geom_vfs.c index bbed550..92f1ad2 100644 --- a/sys/geom/geom_vfs.c +++ b/sys/geom/geom_vfs.c @@ -188,14 +188,14 @@ g_vfs_strategy(struct bufobj *bo, struct buf *bp) bip = g_alloc_bio(); bip->bio_cmd = bp->b_iocmd; bip->bio_offset = bp->b_iooffset; - bip->bio_data = bp->b_data; - bip->bio_done = g_vfs_done; - bip->bio_caller2 = bp; bip->bio_length = bp->b_bcount; - if (bp->b_flags & B_BARRIER) { + bdata2bio(bp, bip); + if ((bp->b_flags & B_BARRIER) != 0) { bip->bio_flags |= BIO_ORDERED; bp->b_flags &= ~B_BARRIER; } + bip->bio_done = g_vfs_done; + bip->bio_caller2 = bp; g_io_request(bip, cp); } diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c index e2ba79e..7650499 100644 --- a/sys/geom/part/g_part.c +++ b/sys/geom/part/g_part.c @@ -427,6 +427,7 @@ g_part_new_provider(struct g_geom *gp, struct g_part_table *table, entry->gpe_pp->stripeoffset = pp->stripeoffset + entry->gpe_offset; if (pp->stripesize > 0) entry->gpe_pp->stripeoffset %= pp->stripesize; + entry->gpe_pp->flags |= pp->flags & G_PF_ACCEPT_UNMAPPED; g_error_provider(entry->gpe_pp, 0); } diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c index 5fee565..27548dc 100644 --- a/sys/i386/i386/pmap.c +++ b/sys/i386/i386/pmap.c @@ -4240,6 +4240,49 @@ pmap_copy_page(vm_page_t src, vm_page_t dst) mtx_unlock(&sysmaps->lock); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + struct sysmaps *sysmaps; + vm_page_t a_pg, b_pg; + char *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + sysmaps = &sysmaps_pcpu[PCPU_GET(cpuid)]; + mtx_lock(&sysmaps->lock); + if (*sysmaps->CMAP1 != 0) + panic("pmap_copy_pages: CMAP1 busy"); + if (*sysmaps->CMAP2 != 0) + panic("pmap_copy_pages: CMAP2 busy"); + sched_pin(); + while (xfersize > 0) { + invlpg((u_int)sysmaps->CADDR1); + invlpg((u_int)sysmaps->CADDR2); + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + *sysmaps->CMAP1 = PG_V | VM_PAGE_TO_PHYS(a_pg) | PG_A | + pmap_cache_bits(b_pg->md.pat_mode, 0); + *sysmaps->CMAP2 = PG_V | PG_RW | VM_PAGE_TO_PHYS(b_pg) | PG_A | + PG_M | pmap_cache_bits(b_pg->md.pat_mode, 0); + a_cp = sysmaps->CADDR1 + a_pg_offset; + b_cp = sysmaps->CADDR2 + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + *sysmaps->CMAP1 = 0; + *sysmaps->CMAP2 = 0; + sched_unpin(); + mtx_unlock(&sysmaps->lock); +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may diff --git a/sys/i386/xen/pmap.c b/sys/i386/xen/pmap.c index a8f11a4..28ba21b 100644 --- a/sys/i386/xen/pmap.c +++ b/sys/i386/xen/pmap.c @@ -3448,6 +3448,46 @@ pmap_copy_page(vm_page_t src, vm_page_t dst) mtx_unlock(&sysmaps->lock); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + struct sysmaps *sysmaps; + vm_page_t a_pg, b_pg; + char *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + sysmaps = &sysmaps_pcpu[PCPU_GET(cpuid)]; + mtx_lock(&sysmaps->lock); + if (*sysmaps->CMAP1 != 0) + panic("pmap_copy_pages: CMAP1 busy"); + if (*sysmaps->CMAP2 != 0) + panic("pmap_copy_pages: CMAP2 busy"); + sched_pin(); + while (xfersize > 0) { + a_pg = ma[a_offset >> PAGE_SHIFT]; + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg = mb[b_offset >> PAGE_SHIFT]; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + PT_SET_MA(sysmaps->CADDR1, PG_V | VM_PAGE_TO_MACH(a_pg) | PG_A); + PT_SET_MA(sysmaps->CADDR2, PG_V | PG_RW | + VM_PAGE_TO_MACH(b_pg) | PG_A | PG_M); + a_cp = sysmaps->CADDR1 + a_pg_offset; + b_cp = sysmaps->CADDR2 + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + PT_SET_MA(sysmaps->CADDR1, 0); + PT_SET_MA(sysmaps->CADDR2, 0); + sched_unpin(); + mtx_unlock(&sysmaps->lock); +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may diff --git a/sys/ia64/ia64/pmap.c b/sys/ia64/ia64/pmap.c index 594f8c6..28610c6 100644 --- a/sys/ia64/ia64/pmap.c +++ b/sys/ia64/ia64/pmap.c @@ -2014,6 +2014,30 @@ pmap_copy_page(vm_page_t msrc, vm_page_t mdst) bcopy(src, dst, PAGE_SIZE); } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)pmap_page_to_va(ma[a_offset >> PAGE_SHIFT]) + + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)pmap_page_to_va(mb[b_offset >> PAGE_SHIFT]) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may diff --git a/sys/kern/kern_lock.c b/sys/kern/kern_lock.c index 7962ae1..af3d9fd 100644 --- a/sys/kern/kern_lock.c +++ b/sys/kern/kern_lock.c @@ -421,6 +421,8 @@ lockallowrecurse(struct lock *lk) { lockmgr_assert(lk, KA_XLOCKED); + KASSERT((lk->lock_object.lo_flags & LO_RECURSABLE) == 0, + ("lk %p already recursable", lk)); lk->lock_object.lo_flags |= LO_RECURSABLE; } diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c index 34072f3..922ebb6 100644 --- a/sys/kern/kern_physio.c +++ b/sys/kern/kern_physio.c @@ -92,7 +92,7 @@ physio(struct cdev *dev, struct uio *uio, int ioflag) bp->b_blkno = btodb(bp->b_offset); if (uio->uio_segflg == UIO_USERSPACE) - if (vmapbuf(bp) < 0) { + if (vmapbuf(bp, 0) < 0) { error = EFAULT; goto doerror; } diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c index 773d01a..1ca1f89 100644 --- a/sys/kern/subr_bus_dma.c +++ b/sys/kern/subr_bus_dma.c @@ -126,11 +126,27 @@ static int _bus_dmamap_load_bio(bus_dma_tag_t dmat, bus_dmamap_t map, struct bio *bio, int *nsegs, int flags) { - int error; + vm_paddr_t paddr; + bus_size_t len, tlen; + int error, i, ma_offs; - error = _bus_dmamap_load_buffer(dmat, map, bio->bio_data, - bio->bio_bcount, kernel_pmap, flags, NULL, nsegs); + if ((bio->bio_flags & BIO_UNMAPPED) == 0) { + error = _bus_dmamap_load_buffer(dmat, map, bio->bio_data, + bio->bio_bcount, kernel_pmap, flags, NULL, nsegs); + return (error); + } + tlen = bio->bio_bcount; + ma_offs = bio->bio_ma_offset; + for (i = 0; tlen > 0; i++, tlen -= len) { + len = min(PAGE_SIZE - ma_offs, tlen); + paddr = VM_PAGE_TO_PHYS(bio->bio_ma[i]) + ma_offs; + error = _bus_dmamap_load_phys(dmat, map, paddr, len, + flags, NULL, nsegs); + if (error != 0) + break; + ma_offs = 0; + } return (error); } diff --git a/sys/kern/subr_param.c b/sys/kern/subr_param.c index f36c769..1fb344e 100644 --- a/sys/kern/subr_param.c +++ b/sys/kern/subr_param.c @@ -91,6 +91,7 @@ int maxfilesperproc; /* per-proc open files limit */ int msgbufsize; /* size of kernel message buffer */ int ncallout; /* maximum # of timer events */ int nbuf; +int bio_transient_maxcnt; int ngroups_max; /* max # groups per process */ int nswbuf; pid_t pid_max = PID_MAX; @@ -119,6 +120,9 @@ SYSCTL_LONG(_kern, OID_AUTO, maxswzone, CTLFLAG_RDTUN, &maxswzone, 0, "Maximum memory for swap metadata"); SYSCTL_LONG(_kern, OID_AUTO, maxbcache, CTLFLAG_RDTUN, &maxbcache, 0, "Maximum value of vfs.maxbufspace"); +SYSCTL_INT(_kern, OID_AUTO, bio_transient_maxcnt, CTLFLAG_RDTUN, + &bio_transient_maxcnt, 0, + "Maximum number of transient BIOs mappings"); SYSCTL_ULONG(_kern, OID_AUTO, maxtsiz, CTLFLAG_RW | CTLFLAG_TUN, &maxtsiz, 0, "Maximum text size"); SYSCTL_ULONG(_kern, OID_AUTO, dfldsiz, CTLFLAG_RW | CTLFLAG_TUN, &dfldsiz, 0, @@ -321,6 +325,7 @@ init_param2(long physpages) */ nbuf = NBUF; TUNABLE_INT_FETCH("kern.nbuf", &nbuf); + TUNABLE_INT_FETCH("kern.bio_transient_maxcnt", &bio_transient_maxcnt); /* * XXX: Does the callout wheel have to be so big? diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c index 99b0197..ae6ae8e 100644 --- a/sys/kern/vfs_aio.c +++ b/sys/kern/vfs_aio.c @@ -1322,7 +1322,7 @@ aio_qphysio(struct proc *p, struct aiocblist *aiocbe) /* * Bring buffer into kernel space. */ - if (vmapbuf(bp) < 0) { + if (vmapbuf(bp, 1) < 0) { error = EFAULT; goto doerror; } diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 6393399..3119569 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -91,6 +91,7 @@ struct buf_ops buf_ops_bio = { * carnal knowledge of buffers. This knowledge should be moved to vfs_bio.c. */ struct buf *buf; /* buffer header pool */ +caddr_t unmapped_buf; static struct proc *bufdaemonproc; @@ -131,6 +132,10 @@ SYSCTL_PROC(_vfs, OID_AUTO, bufspace, CTLTYPE_LONG|CTLFLAG_MPSAFE|CTLFLAG_RD, SYSCTL_LONG(_vfs, OID_AUTO, bufspace, CTLFLAG_RD, &bufspace, 0, "Virtual memory used for buffers"); #endif +static long unmapped_bufspace; +SYSCTL_LONG(_vfs, OID_AUTO, unmapped_bufspace, CTLFLAG_RD, + &unmapped_bufspace, 0, + "Amount of unmapped buffers, inclusive in the bufspace"); static long maxbufspace; SYSCTL_LONG(_vfs, OID_AUTO, maxbufspace, CTLFLAG_RD, &maxbufspace, 0, "Maximum allowed value of bufspace (including buf_daemon)"); @@ -200,6 +205,10 @@ SYSCTL_INT(_vfs, OID_AUTO, getnewbufcalls, CTLFLAG_RW, &getnewbufcalls, 0, static int getnewbufrestarts; SYSCTL_INT(_vfs, OID_AUTO, getnewbufrestarts, CTLFLAG_RW, &getnewbufrestarts, 0, "Number of times getnewbuf has had to restart a buffer aquisition"); +static int mappingrestarts; +SYSCTL_INT(_vfs, OID_AUTO, mappingrestarts, CTLFLAG_RW, &mappingrestarts, 0, + "Number of times getblk has had to restart a buffer mapping for " + "unmapped buffer"); static int flushbufqtarget = 100; SYSCTL_INT(_vfs, OID_AUTO, flushbufqtarget, CTLFLAG_RW, &flushbufqtarget, 0, "Amount of work to do in flushbufqueues when helping bufdaemon"); @@ -280,6 +289,9 @@ static struct mtx nblock; /* Queues for free buffers with various properties */ static TAILQ_HEAD(bqueues, buf) bufqueues[BUFFER_QUEUES] = { { 0 } }; +#ifdef INVARIANTS +static int bq_len[BUFFER_QUEUES]; +#endif /* Lock for the bufqueues */ static struct mtx bqlock; @@ -510,7 +522,7 @@ caddr_t kern_vfs_bio_buffer_alloc(caddr_t v, long physmem_est) { int tuned_nbuf; - long maxbuf; + long maxbuf, maxbuf_sz, buf_sz, biotmap_sz; /* * physmem_est is in pages. Convert it to kilobytes (assumes @@ -554,6 +566,52 @@ kern_vfs_bio_buffer_alloc(caddr_t v, long physmem_est) } /* + * Ideal allocation size for the transient bio submap if 10% + * of the maximal space buffer map. This roughly corresponds + * to the amount of the buffer mapped for typical UFS load. + * + * Clip the buffer map to reserve space for the transient + * BIOs, if its extent is bigger than 90% of the maximum + * buffer map extent on the platform. + * + * The fall-back to the maxbuf in case of maxbcache unset, + * allows to not trim the buffer KVA for the architectures + * with ample KVA space. + */ + if (bio_transient_maxcnt == 0) { + maxbuf_sz = maxbcache != 0 ? maxbcache : maxbuf * BKVASIZE; + buf_sz = (long)nbuf * BKVASIZE; + if (buf_sz < maxbuf_sz / 10 * 9) { + /* + * There is more KVA than memory. Do not + * adjust buffer map size, and assign the rest + * of maxbuf to transient map. + */ + biotmap_sz = maxbuf_sz - buf_sz; + } else { + /* + * Buffer map spans all KVA we could afford on + * this platform. Give 10% of the buffer map + * to the transient bio map. + */ + biotmap_sz = buf_sz / 10; + buf_sz -= biotmap_sz; + } + if (biotmap_sz / INT_MAX > MAXPHYS) + bio_transient_maxcnt = INT_MAX; + else + bio_transient_maxcnt = biotmap_sz / MAXPHYS; + /* + * Artifically limit to 1024 simultaneous in-flight I/Os + * using the transient mapping. + */ + if (bio_transient_maxcnt > 1024) + bio_transient_maxcnt = 1024; + if (tuned_nbuf) + nbuf = buf_sz / BKVASIZE; + } + + /* * swbufs are used as temporary holders for I/O, such as paging I/O. * We have no less then 16 and no more then 256. */ @@ -606,6 +664,9 @@ bufinit(void) LIST_INIT(&bp->b_dep); BUF_LOCKINIT(bp); TAILQ_INSERT_TAIL(&bufqueues[QUEUE_EMPTY], bp, b_freelist); +#ifdef INVARIANTS + bq_len[QUEUE_EMPTY]++; +#endif } /* @@ -674,6 +735,55 @@ bufinit(void) bogus_page = vm_page_alloc(NULL, 0, VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL | VM_ALLOC_WIRED); + unmapped_buf = (caddr_t)kmem_alloc_nofault(kernel_map, MAXPHYS); +} + +#ifdef INVARIANTS +static inline void +vfs_buf_check_mapped(struct buf *bp) +{ + + KASSERT((bp->b_flags & B_UNMAPPED) == 0, + ("mapped buf %p %x", bp, bp->b_flags)); + KASSERT(bp->b_kvabase != unmapped_buf, + ("mapped buf: b_kvabase was not updated %p", bp)); + KASSERT(bp->b_data != unmapped_buf, + ("mapped buf: b_data was not updated %p", bp)); +} + +static inline void +vfs_buf_check_unmapped(struct buf *bp) +{ + + KASSERT((bp->b_flags & B_UNMAPPED) == B_UNMAPPED, + ("unmapped buf %p %x", bp, bp->b_flags)); + KASSERT(bp->b_kvabase == unmapped_buf, + ("unmapped buf: corrupted b_kvabase %p", bp)); + KASSERT(bp->b_data == unmapped_buf, + ("unmapped buf: corrupted b_data %p", bp)); +} + +#define BUF_CHECK_MAPPED(bp) vfs_buf_check_mapped(bp) +#define BUF_CHECK_UNMAPPED(bp) vfs_buf_check_unmapped(bp) +#else +#define BUF_CHECK_MAPPED(bp) do {} while (0) +#define BUF_CHECK_UNMAPPED(bp) do {} while (0) +#endif + +static void +bpmap_qenter(struct buf *bp) +{ + + BUF_CHECK_MAPPED(bp); + + /* + * bp->b_data is relative to bp->b_offset, but + * bp->b_offset may be offset into the first page. + */ + bp->b_data = (caddr_t)trunc_page((vm_offset_t)bp->b_data); + pmap_qenter((vm_offset_t)bp->b_data, bp->b_pages, bp->b_npages); + bp->b_data = (caddr_t)((vm_offset_t)bp->b_data | + (vm_offset_t)(bp->b_offset & PAGE_MASK)); } /* @@ -685,14 +795,26 @@ static void bfreekva(struct buf *bp) { - if (bp->b_kvasize) { - atomic_add_int(&buffreekvacnt, 1); - atomic_subtract_long(&bufspace, bp->b_kvasize); - vm_map_remove(buffer_map, (vm_offset_t) bp->b_kvabase, - (vm_offset_t) bp->b_kvabase + bp->b_kvasize); - bp->b_kvasize = 0; - bufspacewakeup(); + if (bp->b_kvasize == 0) + return; + + atomic_add_int(&buffreekvacnt, 1); + atomic_subtract_long(&bufspace, bp->b_kvasize); + if ((bp->b_flags & B_UNMAPPED) == 0) { + BUF_CHECK_MAPPED(bp); + vm_map_remove(buffer_map, (vm_offset_t)bp->b_kvabase, + (vm_offset_t)bp->b_kvabase + bp->b_kvasize); + } else { + BUF_CHECK_UNMAPPED(bp); + if ((bp->b_flags & B_KVAALLOC) != 0) { + vm_map_remove(buffer_map, (vm_offset_t)bp->b_kvaalloc, + (vm_offset_t)bp->b_kvaalloc + bp->b_kvasize); + } + atomic_subtract_long(&unmapped_bufspace, bp->b_kvasize); + bp->b_flags &= ~(B_UNMAPPED | B_KVAALLOC); } + bp->b_kvasize = 0; + bufspacewakeup(); } /* @@ -759,6 +881,11 @@ bremfreel(struct buf *bp) mtx_assert(&bqlock, MA_OWNED); TAILQ_REMOVE(&bufqueues[bp->b_qindex], bp, b_freelist); +#ifdef INVARIANTS + KASSERT(bq_len[bp->b_qindex] >= 1, ("queue %d underflow", + bp->b_qindex)); + bq_len[bp->b_qindex]--; +#endif bp->b_qindex = QUEUE_NONE; /* * If this was a delayed bremfree() we only need to remove the buffer @@ -829,9 +956,8 @@ breada(struct vnode * vp, daddr_t * rablkno, int * rabsize, * getblk(). Also starts asynchronous I/O on read-ahead blocks. */ int -breadn_flags(struct vnode * vp, daddr_t blkno, int size, - daddr_t * rablkno, int *rabsize, int cnt, - struct ucred * cred, int flags, struct buf **bpp) +breadn_flags(struct vnode *vp, daddr_t blkno, int size, daddr_t *rablkno, + int *rabsize, int cnt, struct ucred *cred, int flags, struct buf **bpp) { struct buf *bp; int rv = 0, readwait = 0; @@ -1268,6 +1394,15 @@ brelse(struct buf *bp) KASSERT(!(bp->b_flags & (B_CLUSTER|B_PAGING)), ("brelse: inappropriate B_PAGING or B_CLUSTER bp %p", bp)); + if (BUF_LOCKRECURSED(bp)) { + /* + * Do not process, in particular, do not handle the + * B_INVAL/B_RELBUF and do not release to free list. + */ + BUF_UNLOCK(bp); + return; + } + if (bp->b_flags & B_MANAGED) { bqrelse(bp); return; @@ -1405,7 +1540,8 @@ brelse(struct buf *bp) } } - if ((bp->b_flags & B_INVAL) == 0) { + if ((bp->b_flags & (B_INVAL | B_UNMAPPED)) == 0) { + BUF_CHECK_MAPPED(bp); pmap_qenter( trunc_page((vm_offset_t)bp->b_data), bp->b_pages, bp->b_npages); @@ -1444,12 +1580,6 @@ brelse(struct buf *bp) brelvp(bp); } - if (BUF_LOCKRECURSED(bp)) { - /* do not release to free list */ - BUF_UNLOCK(bp); - return; - } - /* enqueue */ mtx_lock(&bqlock); /* Handle delayed bremfree() processing. */ @@ -1506,11 +1636,17 @@ brelse(struct buf *bp) bp->b_qindex = QUEUE_DIRTY; else bp->b_qindex = QUEUE_CLEAN; - if (bp->b_flags & B_AGE) - TAILQ_INSERT_HEAD(&bufqueues[bp->b_qindex], bp, b_freelist); - else - TAILQ_INSERT_TAIL(&bufqueues[bp->b_qindex], bp, b_freelist); + if (bp->b_flags & B_AGE) { + TAILQ_INSERT_HEAD(&bufqueues[bp->b_qindex], bp, + b_freelist); + } else { + TAILQ_INSERT_TAIL(&bufqueues[bp->b_qindex], bp, + b_freelist); + } } +#ifdef INVARIANTS + bq_len[bp->b_qindex]++; +#endif mtx_unlock(&bqlock); /* @@ -1601,6 +1737,9 @@ bqrelse(struct buf *bp) if (bp->b_flags & B_DELWRI) { bp->b_qindex = QUEUE_DIRTY; TAILQ_INSERT_TAIL(&bufqueues[bp->b_qindex], bp, b_freelist); +#ifdef INVARIANTS + bq_len[bp->b_qindex]++; +#endif } else { /* * The locking of the BO_LOCK for checking of the @@ -1613,6 +1752,9 @@ bqrelse(struct buf *bp) bp->b_qindex = QUEUE_CLEAN; TAILQ_INSERT_TAIL(&bufqueues[QUEUE_CLEAN], bp, b_freelist); +#ifdef INVARIANTS + bq_len[QUEUE_CLEAN]++; +#endif } else { /* * We are too low on memory, we have to try to free @@ -1654,7 +1796,11 @@ vfs_vmio_release(struct buf *bp) int i; vm_page_t m; - pmap_qremove(trunc_page((vm_offset_t)bp->b_data), bp->b_npages); + if ((bp->b_flags & B_UNMAPPED) == 0) { + BUF_CHECK_MAPPED(bp); + pmap_qremove(trunc_page((vm_offset_t)bp->b_data), bp->b_npages); + } else + BUF_CHECK_UNMAPPED(bp); VM_OBJECT_LOCK(bp->b_bufobj->bo_object); for (i = 0; i < bp->b_npages; i++) { m = bp->b_pages[i]; @@ -1758,8 +1904,10 @@ vfs_bio_awrite(struct buf *bp) int nwritten; int size; int maxcl; + int gbflags; bo = &vp->v_bufobj; + gbflags = (bp->b_flags & B_UNMAPPED) != 0 ? GB_UNMAPPED : 0; /* * right now we support clustered writing only to regular files. If * we find a clusterable block we could be in the middle of a cluster @@ -1790,8 +1938,9 @@ vfs_bio_awrite(struct buf *bp) */ if (ncl != 1) { BUF_UNLOCK(bp); - nwritten = cluster_wbuild(vp, size, lblkno - j, ncl); - return nwritten; + nwritten = cluster_wbuild(vp, size, lblkno - j, ncl, + gbflags); + return (nwritten); } } bremfree(bp); @@ -1807,46 +1956,206 @@ vfs_bio_awrite(struct buf *bp) return nwritten; } +static void +setbufkva(struct buf *bp, vm_offset_t addr, int maxsize, int gbflags) +{ + + KASSERT((bp->b_flags & (B_UNMAPPED | B_KVAALLOC)) == 0 && + bp->b_kvasize == 0, ("call bfreekva(%p)", bp)); + if ((gbflags & GB_UNMAPPED) == 0) { + bp->b_kvabase = (caddr_t)addr; + } else if ((gbflags & GB_KVAALLOC) != 0) { + KASSERT((gbflags & GB_UNMAPPED) != 0, + ("GB_KVAALLOC without GB_UNMAPPED")); + bp->b_kvaalloc = (caddr_t)addr; + bp->b_flags |= B_UNMAPPED | B_KVAALLOC; + atomic_add_long(&unmapped_bufspace, bp->b_kvasize); + } + bp->b_kvasize = maxsize; +} + /* - * getnewbuf: - * - * Find and initialize a new buffer header, freeing up existing buffers - * in the bufqueues as necessary. The new buffer is returned locked. - * - * Important: B_INVAL is not set. If the caller wishes to throw the - * buffer away, the caller must set B_INVAL prior to calling brelse(). - * - * We block if: - * We have insufficient buffer headers - * We have insufficient buffer space - * buffer_map is too fragmented ( space reservation fails ) - * If we have to flush dirty buffers ( but we try to avoid this ) - * - * To avoid VFS layer recursion we do not flush dirty buffers ourselves. - * Instead we ask the buf daemon to do it for us. We attempt to - * avoid piecemeal wakeups of the pageout daemon. + * Allocate the buffer KVA and set b_kvasize. Also set b_kvabase if + * needed. */ +static int +allocbufkva(struct buf *bp, int maxsize, int gbflags) +{ + vm_offset_t addr; + int rv; -static struct buf * -getnewbuf(struct vnode *vp, int slpflag, int slptimeo, int size, int maxsize, - int gbflags) + bfreekva(bp); + addr = 0; + + vm_map_lock(buffer_map); + if (vm_map_findspace(buffer_map, vm_map_min(buffer_map), maxsize, + &addr)) { + vm_map_unlock(buffer_map); + /* + * Buffer map is too fragmented. Request the caller + * to defragment the map. + */ + atomic_add_int(&bufdefragcnt, 1); + return (1); + } + rv = vm_map_insert(buffer_map, NULL, 0, addr, addr + maxsize, + VM_PROT_RW, VM_PROT_RW, MAP_NOFAULT); + KASSERT(rv == KERN_SUCCESS, ("vm_map_insert(buffer_map) rv %d", rv)); + vm_map_unlock(buffer_map); + setbufkva(bp, addr, maxsize, gbflags); + atomic_add_long(&bufspace, bp->b_kvasize); + return (0); +} + +/* + * Ask the bufdaemon for help, or act as bufdaemon itself, when a + * locked vnode is supplied. + */ +static void +getnewbuf_bufd_help(struct vnode *vp, int gbflags, int slpflag, int slptimeo, + int defrag) { struct thread *td; - struct buf *bp; - struct buf *nbp; - int defrag = 0; - int nqindex; - static int flushingbufs; + char *waitmsg; + int fl, flags, norunbuf; + + mtx_assert(&bqlock, MA_OWNED); + + if (defrag) { + flags = VFS_BIO_NEED_BUFSPACE; + waitmsg = "nbufkv"; + } else if (bufspace >= hibufspace) { + waitmsg = "nbufbs"; + flags = VFS_BIO_NEED_BUFSPACE; + } else { + waitmsg = "newbuf"; + flags = VFS_BIO_NEED_ANY; + } + mtx_lock(&nblock); + needsbuffer |= flags; + mtx_unlock(&nblock); + mtx_unlock(&bqlock); + + bd_speedup(); /* heeeelp */ + if ((gbflags & GB_NOWAIT_BD) != 0) + return; td = curthread; + mtx_lock(&nblock); + while (needsbuffer & flags) { + if (vp != NULL && (td->td_pflags & TDP_BUFNEED) == 0) { + mtx_unlock(&nblock); + /* + * getblk() is called with a vnode locked, and + * some majority of the dirty buffers may as + * well belong to the vnode. Flushing the + * buffers there would make a progress that + * cannot be achieved by the buf_daemon, that + * cannot lock the vnode. + */ + norunbuf = ~(TDP_BUFNEED | TDP_NORUNNINGBUF) | + (td->td_pflags & TDP_NORUNNINGBUF); + /* play bufdaemon */ + td->td_pflags |= TDP_BUFNEED | TDP_NORUNNINGBUF; + fl = buf_do_flush(vp); + td->td_pflags &= norunbuf; + mtx_lock(&nblock); + if (fl != 0) + continue; + if ((needsbuffer & flags) == 0) + break; + } + if (msleep(&needsbuffer, &nblock, (PRIBIO + 4) | slpflag, + waitmsg, slptimeo)) + break; + } + mtx_unlock(&nblock); +} + +static void +getnewbuf_reuse_bp(struct buf *bp, int qindex) +{ + + CTR6(KTR_BUF, "getnewbuf(%p) vp %p flags %X kvasize %d bufsize %d " + "queue %d (recycling)", bp, bp->b_vp, bp->b_flags, + bp->b_kvasize, bp->b_bufsize, qindex); + mtx_assert(&bqlock, MA_NOTOWNED); + /* - * We can't afford to block since we might be holding a vnode lock, - * which may prevent system daemons from running. We deal with - * low-memory situations by proactively returning memory and running - * async I/O rather then sync I/O. + * Note: we no longer distinguish between VMIO and non-VMIO + * buffers. */ - atomic_add_int(&getnewbufcalls, 1); - atomic_subtract_int(&getnewbufrestarts, 1); + KASSERT((bp->b_flags & B_DELWRI) == 0, + ("delwri buffer %p found in queue %d", bp, qindex)); + + if (qindex == QUEUE_CLEAN) { + if (bp->b_flags & B_VMIO) { + bp->b_flags &= ~B_ASYNC; + vfs_vmio_release(bp); + } + if (bp->b_vp != NULL) + brelvp(bp); + } + + /* + * Get the rest of the buffer freed up. b_kva* is still valid + * after this operation. + */ + + if (bp->b_rcred != NOCRED) { + crfree(bp->b_rcred); + bp->b_rcred = NOCRED; + } + if (bp->b_wcred != NOCRED) { + crfree(bp->b_wcred); + bp->b_wcred = NOCRED; + } + if (!LIST_EMPTY(&bp->b_dep)) + buf_deallocate(bp); + if (bp->b_vflags & BV_BKGRDINPROG) + panic("losing buffer 3"); + KASSERT(bp->b_vp == NULL, ("bp: %p still has vnode %p. qindex: %d", + bp, bp->b_vp, qindex)); + KASSERT((bp->b_xflags & (BX_VNCLEAN|BX_VNDIRTY)) == 0, + ("bp: %p still on a buffer list. xflags %X", bp, bp->b_xflags)); + + if (bp->b_bufsize) + allocbuf(bp, 0); + + bp->b_flags &= B_UNMAPPED | B_KVAALLOC; + bp->b_ioflags = 0; + bp->b_xflags = 0; + KASSERT((bp->b_vflags & BV_INFREECNT) == 0, + ("buf %p still counted as free?", bp)); + bp->b_vflags = 0; + bp->b_vp = NULL; + bp->b_blkno = bp->b_lblkno = 0; + bp->b_offset = NOOFFSET; + bp->b_iodone = 0; + bp->b_error = 0; + bp->b_resid = 0; + bp->b_bcount = 0; + bp->b_npages = 0; + bp->b_dirtyoff = bp->b_dirtyend = 0; + bp->b_bufobj = NULL; + bp->b_pin_count = 0; + bp->b_fsprivate1 = NULL; + bp->b_fsprivate2 = NULL; + bp->b_fsprivate3 = NULL; + + LIST_INIT(&bp->b_dep); +} + +static int flushingbufs; + +static struct buf * +getnewbuf_scan(int maxsize, int defrag, int unmapped) +{ + struct buf *bp, *nbp; + int nqindex, qindex; + + KASSERT(!unmapped || !defrag, ("both unmapped and defrag")); + restart: atomic_add_int(&getnewbufrestarts, 1); @@ -1856,63 +2165,80 @@ restart: * that if we are specially marked process, we are allowed to * dip into our reserves. * - * The scanning sequence is nominally: EMPTY->EMPTYKVA->CLEAN + * The scanning sequence is nominally: EMPTY->EMPTYKVA->CLEAN + * for the allocation of the mapped buffer. For unmapped, the + * easiest is to start with EMPTY outright. * * We start with EMPTYKVA. If the list is empty we backup to EMPTY. * However, there are a number of cases (defragging, reusing, ...) * where we cannot backup. */ + nbp = NULL; mtx_lock(&bqlock); - nqindex = QUEUE_EMPTYKVA; - nbp = TAILQ_FIRST(&bufqueues[QUEUE_EMPTYKVA]); - + if (!defrag && unmapped) { + nqindex = QUEUE_EMPTY; + nbp = TAILQ_FIRST(&bufqueues[QUEUE_EMPTY]); + } if (nbp == NULL) { - /* - * If no EMPTYKVA buffers and we are either - * defragging or reusing, locate a CLEAN buffer - * to free or reuse. If bufspace useage is low - * skip this step so we can allocate a new buffer. - */ - if (defrag || bufspace >= lobufspace) { - nqindex = QUEUE_CLEAN; - nbp = TAILQ_FIRST(&bufqueues[QUEUE_CLEAN]); - } + nqindex = QUEUE_EMPTYKVA; + nbp = TAILQ_FIRST(&bufqueues[QUEUE_EMPTYKVA]); + } - /* - * If we could not find or were not allowed to reuse a - * CLEAN buffer, check to see if it is ok to use an EMPTY - * buffer. We can only use an EMPTY buffer if allocating - * its KVA would not otherwise run us out of buffer space. - */ - if (nbp == NULL && defrag == 0 && - bufspace + maxsize < hibufspace) { - nqindex = QUEUE_EMPTY; - nbp = TAILQ_FIRST(&bufqueues[QUEUE_EMPTY]); - } + /* + * If no EMPTYKVA buffers and we are either defragging or + * reusing, locate a CLEAN buffer to free or reuse. If + * bufspace useage is low skip this step so we can allocate a + * new buffer. + */ + if (nbp == NULL && (defrag || bufspace >= lobufspace)) { + nqindex = QUEUE_CLEAN; + nbp = TAILQ_FIRST(&bufqueues[QUEUE_CLEAN]); + } + + /* + * If we could not find or were not allowed to reuse a CLEAN + * buffer, check to see if it is ok to use an EMPTY buffer. + * We can only use an EMPTY buffer if allocating its KVA would + * not otherwise run us out of buffer space. No KVA is needed + * for the unmapped allocation. + */ + if (nbp == NULL && defrag == 0 && bufspace + maxsize < hibufspace) { + nqindex = QUEUE_EMPTY; + nbp = TAILQ_FIRST(&bufqueues[QUEUE_EMPTY]); + } + + /* + * All available buffers might be clean, retry ignoring the + * lobufspace as the last resort. + */ + if (nbp == NULL && !TAILQ_EMPTY(&bufqueues[QUEUE_CLEAN])) { + nqindex = QUEUE_CLEAN; + nbp = TAILQ_FIRST(&bufqueues[QUEUE_CLEAN]); } /* * Run scan, possibly freeing data and/or kva mappings on the fly * depending. */ - while ((bp = nbp) != NULL) { - int qindex = nqindex; + qindex = nqindex; /* - * Calculate next bp ( we can only use it if we do not block - * or do other fancy things ). + * Calculate next bp (we can only use it if we do not + * block or do other fancy things). */ if ((nbp = TAILQ_NEXT(bp, b_freelist)) == NULL) { switch(qindex) { case QUEUE_EMPTY: nqindex = QUEUE_EMPTYKVA; - if ((nbp = TAILQ_FIRST(&bufqueues[QUEUE_EMPTYKVA]))) + nbp = TAILQ_FIRST(&bufqueues[QUEUE_EMPTYKVA]); + if (nbp != NULL) break; /* FALLTHROUGH */ case QUEUE_EMPTYKVA: nqindex = QUEUE_CLEAN; - if ((nbp = TAILQ_FIRST(&bufqueues[QUEUE_CLEAN]))) + nbp = TAILQ_FIRST(&bufqueues[QUEUE_CLEAN]); + if (nbp != NULL) break; /* FALLTHROUGH */ case QUEUE_CLEAN: @@ -1948,22 +2274,9 @@ restart: } BO_UNLOCK(bp->b_bufobj); } - CTR6(KTR_BUF, - "getnewbuf(%p) vp %p flags %X kvasize %d bufsize %d " - "queue %d (recycling)", bp, bp->b_vp, bp->b_flags, - bp->b_kvasize, bp->b_bufsize, qindex); - /* - * Sanity Checks - */ - KASSERT(bp->b_qindex == qindex, ("getnewbuf: inconsistant queue %d bp %p", qindex, bp)); - - /* - * Note: we no longer distinguish between VMIO and non-VMIO - * buffers. - */ - - KASSERT((bp->b_flags & B_DELWRI) == 0, ("delwri buffer %p found in queue %d", bp, qindex)); + KASSERT(bp->b_qindex == qindex, + ("getnewbuf: inconsistent queue %d bp %p", qindex, bp)); if (bp->b_bufobj != NULL) BO_LOCK(bp->b_bufobj); @@ -1971,68 +2284,13 @@ restart: if (bp->b_bufobj != NULL) BO_UNLOCK(bp->b_bufobj); mtx_unlock(&bqlock); - - if (qindex == QUEUE_CLEAN) { - if (bp->b_flags & B_VMIO) { - bp->b_flags &= ~B_ASYNC; - vfs_vmio_release(bp); - } - if (bp->b_vp) - brelvp(bp); - } - /* * NOTE: nbp is now entirely invalid. We can only restart * the scan from this point on. - * - * Get the rest of the buffer freed up. b_kva* is still - * valid after this operation. */ - if (bp->b_rcred != NOCRED) { - crfree(bp->b_rcred); - bp->b_rcred = NOCRED; - } - if (bp->b_wcred != NOCRED) { - crfree(bp->b_wcred); - bp->b_wcred = NOCRED; - } - if (!LIST_EMPTY(&bp->b_dep)) - buf_deallocate(bp); - if (bp->b_vflags & BV_BKGRDINPROG) - panic("losing buffer 3"); - KASSERT(bp->b_vp == NULL, - ("bp: %p still has vnode %p. qindex: %d", - bp, bp->b_vp, qindex)); - KASSERT((bp->b_xflags & (BX_VNCLEAN|BX_VNDIRTY)) == 0, - ("bp: %p still on a buffer list. xflags %X", - bp, bp->b_xflags)); - - if (bp->b_bufsize) - allocbuf(bp, 0); - - bp->b_flags = 0; - bp->b_ioflags = 0; - bp->b_xflags = 0; - KASSERT((bp->b_vflags & BV_INFREECNT) == 0, - ("buf %p still counted as free?", bp)); - bp->b_vflags = 0; - bp->b_vp = NULL; - bp->b_blkno = bp->b_lblkno = 0; - bp->b_offset = NOOFFSET; - bp->b_iodone = 0; - bp->b_error = 0; - bp->b_resid = 0; - bp->b_bcount = 0; - bp->b_npages = 0; - bp->b_dirtyoff = bp->b_dirtyend = 0; - bp->b_bufobj = NULL; - bp->b_pin_count = 0; - bp->b_fsprivate1 = NULL; - bp->b_fsprivate2 = NULL; - bp->b_fsprivate3 = NULL; - - LIST_INIT(&bp->b_dep); + getnewbuf_reuse_bp(bp, qindex); + mtx_assert(&bqlock, MA_NOTOWNED); /* * If we are defragging then free the buffer. @@ -2073,6 +2331,52 @@ restart: flushingbufs = 0; break; } + return (bp); +} + +/* + * getnewbuf: + * + * Find and initialize a new buffer header, freeing up existing buffers + * in the bufqueues as necessary. The new buffer is returned locked. + * + * Important: B_INVAL is not set. If the caller wishes to throw the + * buffer away, the caller must set B_INVAL prior to calling brelse(). + * + * We block if: + * We have insufficient buffer headers + * We have insufficient buffer space + * buffer_map is too fragmented ( space reservation fails ) + * If we have to flush dirty buffers ( but we try to avoid this ) + * + * To avoid VFS layer recursion we do not flush dirty buffers ourselves. + * Instead we ask the buf daemon to do it for us. We attempt to + * avoid piecemeal wakeups of the pageout daemon. + */ +static struct buf * +getnewbuf(struct vnode *vp, int slpflag, int slptimeo, int size, int maxsize, + int gbflags) +{ + struct buf *bp; + int defrag; + + KASSERT((gbflags & (GB_UNMAPPED | GB_KVAALLOC)) != GB_KVAALLOC, + ("GB_KVAALLOC only makes sense with GB_UNMAPPED")); + + defrag = 0; + /* + * We can't afford to block since we might be holding a vnode lock, + * which may prevent system daemons from running. We deal with + * low-memory situations by proactively returning memory and running + * async I/O rather then sync I/O. + */ + atomic_add_int(&getnewbufcalls, 1); + atomic_subtract_int(&getnewbufrestarts, 1); +restart: + bp = getnewbuf_scan(maxsize, defrag, (gbflags & (GB_UNMAPPED | + GB_KVAALLOC)) == GB_UNMAPPED); + if (bp != NULL) + defrag = 0; /* * If we exhausted our list, sleep as appropriate. We may have to @@ -2080,65 +2384,23 @@ restart: * * Generally we are sleeping due to insufficient buffer space. */ - if (bp == NULL) { - int flags, norunbuf; - char *waitmsg; - int fl; - - if (defrag) { - flags = VFS_BIO_NEED_BUFSPACE; - waitmsg = "nbufkv"; - } else if (bufspace >= hibufspace) { - waitmsg = "nbufbs"; - flags = VFS_BIO_NEED_BUFSPACE; - } else { - waitmsg = "newbuf"; - flags = VFS_BIO_NEED_ANY; - } - mtx_lock(&nblock); - needsbuffer |= flags; - mtx_unlock(&nblock); - mtx_unlock(&bqlock); - - bd_speedup(); /* heeeelp */ - if (gbflags & GB_NOWAIT_BD) - return (NULL); - - mtx_lock(&nblock); - while (needsbuffer & flags) { - if (vp != NULL && (td->td_pflags & TDP_BUFNEED) == 0) { - mtx_unlock(&nblock); - /* - * getblk() is called with a vnode - * locked, and some majority of the - * dirty buffers may as well belong to - * the vnode. Flushing the buffers - * there would make a progress that - * cannot be achieved by the - * buf_daemon, that cannot lock the - * vnode. - */ - norunbuf = ~(TDP_BUFNEED | TDP_NORUNNINGBUF) | - (td->td_pflags & TDP_NORUNNINGBUF); - /* play bufdaemon */ - td->td_pflags |= TDP_BUFNEED | TDP_NORUNNINGBUF; - fl = buf_do_flush(vp); - td->td_pflags &= norunbuf; - mtx_lock(&nblock); - if (fl != 0) - continue; - if ((needsbuffer & flags) == 0) - break; - } - if (msleep(&needsbuffer, &nblock, - (PRIBIO + 4) | slpflag, waitmsg, slptimeo)) { - mtx_unlock(&nblock); - return (NULL); - } - } - mtx_unlock(&nblock); + mtx_assert(&bqlock, MA_OWNED); + getnewbuf_bufd_help(vp, gbflags, slpflag, slptimeo, defrag); + mtx_assert(&bqlock, MA_NOTOWNED); + } else if ((gbflags & (GB_UNMAPPED | GB_KVAALLOC)) == GB_UNMAPPED) { + mtx_assert(&bqlock, MA_NOTOWNED); + + bfreekva(bp); + bp->b_flags |= B_UNMAPPED; + bp->b_kvabase = bp->b_data = unmapped_buf; + bp->b_kvasize = maxsize; + atomic_add_long(&bufspace, bp->b_kvasize); + atomic_add_long(&unmapped_bufspace, bp->b_kvasize); + atomic_add_int(&bufreusecnt, 1); } else { + mtx_assert(&bqlock, MA_NOTOWNED); + /* * We finally have a valid bp. We aren't quite out of the * woods, we still have to reserve kva space. In order @@ -2147,39 +2409,46 @@ restart: */ maxsize = (maxsize + BKVAMASK) & ~BKVAMASK; - if (maxsize != bp->b_kvasize) { - vm_offset_t addr = 0; - int rv; - - bfreekva(bp); - - vm_map_lock(buffer_map); - if (vm_map_findspace(buffer_map, - vm_map_min(buffer_map), maxsize, &addr)) { - /* - * Buffer map is too fragmented. - * We must defragment the map. - */ - atomic_add_int(&bufdefragcnt, 1); - vm_map_unlock(buffer_map); + if (maxsize != bp->b_kvasize || (bp->b_flags & (B_UNMAPPED | + B_KVAALLOC)) == B_UNMAPPED) { + if (allocbufkva(bp, maxsize, gbflags)) { defrag = 1; bp->b_flags |= B_INVAL; brelse(bp); goto restart; } - rv = vm_map_insert(buffer_map, NULL, 0, addr, - addr + maxsize, VM_PROT_ALL, VM_PROT_ALL, - MAP_NOFAULT); - KASSERT(rv == KERN_SUCCESS, - ("vm_map_insert(buffer_map) rv %d", rv)); - vm_map_unlock(buffer_map); - bp->b_kvabase = (caddr_t)addr; - bp->b_kvasize = maxsize; - atomic_add_long(&bufspace, bp->b_kvasize); atomic_add_int(&bufreusecnt, 1); + } else if ((bp->b_flags & B_KVAALLOC) != 0 && + (gbflags & (GB_UNMAPPED | GB_KVAALLOC)) == 0) { + /* + * If the reused buffer has KVA allocated, + * reassign b_kvaalloc to b_kvabase. + */ + bp->b_kvabase = bp->b_kvaalloc; + bp->b_flags &= ~B_KVAALLOC; + atomic_subtract_long(&unmapped_bufspace, + bp->b_kvasize); + atomic_add_int(&bufreusecnt, 1); + } else if ((bp->b_flags & (B_UNMAPPED | B_KVAALLOC)) == 0 && + (gbflags & (GB_UNMAPPED | GB_KVAALLOC)) == GB_KVAALLOC) { + /* + * The case of reused buffer already have KVA + * mapped, but the request is for unmapped + * buffer with KVA allocated. + */ + bp->b_kvaalloc = bp->b_kvabase; + bp->b_data = bp->b_kvabase = unmapped_buf; + bp->b_flags |= B_UNMAPPED | B_KVAALLOC; + atomic_add_long(&unmapped_bufspace, + bp->b_kvasize); + atomic_add_int(&bufreusecnt, 1); + } + if ((gbflags & GB_UNMAPPED) == 0) { + bp->b_saveaddr = bp->b_kvabase; + bp->b_data = bp->b_saveaddr; + bp->b_flags &= ~B_UNMAPPED; + BUF_CHECK_MAPPED(bp); } - bp->b_saveaddr = bp->b_kvabase; - bp->b_data = bp->b_saveaddr; } return (bp); } @@ -2590,6 +2859,90 @@ vfs_setdirty_locked_object(struct buf *bp) } /* + * Allocate the KVA mapping for an existing buffer. It handles the + * cases of both B_UNMAPPED buffer, and buffer with the preallocated + * KVA which is not mapped (B_KVAALLOC). + */ +static void +bp_unmapped_get_kva(struct buf *bp, daddr_t blkno, int size, int gbflags) +{ + struct buf *scratch_bp; + int bsize, maxsize, need_mapping, need_kva; + off_t offset; + + need_mapping = (bp->b_flags & B_UNMAPPED) != 0 && + (gbflags & GB_UNMAPPED) == 0; + need_kva = (bp->b_flags & (B_KVAALLOC | B_UNMAPPED)) == B_UNMAPPED && + (gbflags & GB_KVAALLOC) != 0; + if (!need_mapping && !need_kva) + return; + + BUF_CHECK_UNMAPPED(bp); + + if (need_mapping && (bp->b_flags & B_KVAALLOC) != 0) { + /* + * Buffer is not mapped, but the KVA was already + * reserved at the time of the instantiation. Use the + * allocated space. + */ + bp->b_flags &= ~B_KVAALLOC; + KASSERT(bp->b_kvaalloc != 0, ("kvaalloc == 0")); + bp->b_kvabase = bp->b_kvaalloc; + atomic_subtract_long(&unmapped_bufspace, bp->b_kvasize); + goto has_addr; + } + + /* + * Calculate the amount of the address space we would reserve + * if the buffer was mapped. + */ + bsize = vn_isdisk(bp->b_vp, NULL) ? DEV_BSIZE : bp->b_bufobj->bo_bsize; + offset = blkno * bsize; + maxsize = size + (offset & PAGE_MASK); + maxsize = imax(maxsize, bsize); + +mapping_loop: + if (allocbufkva(bp, maxsize, gbflags)) { + /* + * Request defragmentation. getnewbuf() returns us the + * allocated space by the scratch buffer KVA. + */ + scratch_bp = getnewbuf(bp->b_vp, 0, 0, size, maxsize, gbflags | + (GB_UNMAPPED | GB_KVAALLOC)); + if (scratch_bp == NULL) { + if ((gbflags & GB_NOWAIT_BD) != 0) { + /* + * XXXKIB: defragmentation cannot + * succeed, not sure what else to do. + */ + panic("GB_NOWAIT_BD and B_UNMAPPED %p", bp); + } + atomic_add_int(&mappingrestarts, 1); + goto mapping_loop; + } + KASSERT((scratch_bp->b_flags & B_KVAALLOC) != 0, + ("scratch bp !B_KVAALLOC %p", scratch_bp)); + setbufkva(bp, (vm_offset_t)scratch_bp->b_kvaalloc, + scratch_bp->b_kvasize, gbflags); + + /* Get rid of the scratch buffer. */ + scratch_bp->b_kvasize = 0; + scratch_bp->b_flags |= B_INVAL | B_UNMAPPED; + scratch_bp->b_flags &= ~B_KVAALLOC; + brelse(scratch_bp); + } + if (!need_mapping) + return; + +has_addr: + bp->b_saveaddr = bp->b_kvabase; + bp->b_data = bp->b_saveaddr; /* b_offset is handled by bpmap_qenter */ + bp->b_flags &= ~B_UNMAPPED; + BUF_CHECK_MAPPED(bp); + bpmap_qenter(bp); +} + +/* * getblk: * * Get a block given a specified block and offset into a file/device. @@ -2626,14 +2979,17 @@ vfs_setdirty_locked_object(struct buf *bp) * prior to issuing the READ. biodone() will *not* clear B_INVAL. */ struct buf * -getblk(struct vnode * vp, daddr_t blkno, int size, int slpflag, int slptimeo, +getblk(struct vnode *vp, daddr_t blkno, int size, int slpflag, int slptimeo, int flags) { struct buf *bp; struct bufobj *bo; - int error; + int bsize, error, maxsize, vmio; + off_t offset; CTR3(KTR_BUF, "getblk(%p, %ld, %d)", vp, (long)blkno, size); + KASSERT((flags & (GB_UNMAPPED | GB_KVAALLOC)) != GB_KVAALLOC, + ("GB_KVAALLOC only makes sense with GB_UNMAPPED")); ASSERT_VOP_LOCKED(vp, "getblk"); if (size > MAXBSIZE) panic("getblk: size(%d) > MAXBSIZE(%d)\n", size, MAXBSIZE); @@ -2701,9 +3057,8 @@ loop: } /* - * check for size inconsistancies for non-VMIO case. + * check for size inconsistencies for non-VMIO case. */ - if (bp->b_bcount != size) { if ((bp->b_flags & B_VMIO) == 0 || (size > bp->b_kvasize)) { @@ -2737,12 +3092,18 @@ loop: } /* + * Handle the case of unmapped buffer which should + * become mapped, or the buffer for which KVA + * reservation is requested. + */ + bp_unmapped_get_kva(bp, blkno, size, flags); + + /* * If the size is inconsistant in the VMIO case, we can resize * the buffer. This might lead to B_CACHE getting set or * cleared. If the size has not changed, B_CACHE remains * unchanged from its previous state. */ - if (bp->b_bcount != size) allocbuf(bp, size); @@ -2783,9 +3144,6 @@ loop: } bp->b_flags &= ~B_DONE; } else { - int bsize, maxsize, vmio; - off_t offset; - /* * Buffer is not in-core, create new buffer. The buffer * returned by getnewbuf() is locked. Note that the returned @@ -2801,7 +3159,13 @@ loop: bsize = vn_isdisk(vp, NULL) ? DEV_BSIZE : bo->bo_bsize; offset = blkno * bsize; vmio = vp->v_object != NULL; - maxsize = vmio ? size + (offset & PAGE_MASK) : size; + if (vmio) { + maxsize = size + (offset & PAGE_MASK); + } else { + maxsize = size; + /* Do not allow non-VMIO notmapped buffers. */ + flags &= ~GB_UNMAPPED; + } maxsize = imax(maxsize, bsize); bp = getnewbuf(vp, slpflag, slptimeo, size, maxsize, flags); @@ -2857,6 +3221,7 @@ loop: KASSERT(bp->b_bufobj->bo_object == NULL, ("ARGH! has b_bufobj->bo_object %p %p\n", bp, bp->b_bufobj->bo_object)); + BUF_CHECK_MAPPED(bp); } allocbuf(bp, size); @@ -3031,10 +3396,14 @@ allocbuf(struct buf *bp, int size) if (desiredpages < bp->b_npages) { vm_page_t m; - pmap_qremove((vm_offset_t)trunc_page( - (vm_offset_t)bp->b_data) + - (desiredpages << PAGE_SHIFT), - (bp->b_npages - desiredpages)); + if ((bp->b_flags & B_UNMAPPED) == 0) { + BUF_CHECK_MAPPED(bp); + pmap_qremove((vm_offset_t)trunc_page( + (vm_offset_t)bp->b_data) + + (desiredpages << PAGE_SHIFT), + (bp->b_npages - desiredpages)); + } else + BUF_CHECK_UNMAPPED(bp); VM_OBJECT_LOCK(bp->b_bufobj->bo_object); for (i = desiredpages; i < bp->b_npages; i++) { /* @@ -3140,21 +3509,12 @@ allocbuf(struct buf *bp, int size) VM_OBJECT_UNLOCK(obj); /* - * Step 3, fixup the KVM pmap. Remember that - * bp->b_data is relative to bp->b_offset, but - * bp->b_offset may be offset into the first page. + * Step 3, fixup the KVM pmap. */ - - bp->b_data = (caddr_t) - trunc_page((vm_offset_t)bp->b_data); - pmap_qenter( - (vm_offset_t)bp->b_data, - bp->b_pages, - bp->b_npages - ); - - bp->b_data = (caddr_t)((vm_offset_t)bp->b_data | - (vm_offset_t)(bp->b_offset & PAGE_MASK)); + if ((bp->b_flags & B_UNMAPPED) == 0) + bpmap_qenter(bp); + else + BUF_CHECK_UNMAPPED(bp); } } if (newbsize < bp->b_bufsize) @@ -3164,21 +3524,38 @@ allocbuf(struct buf *bp, int size) return 1; } +extern int inflight_transient_maps; + void biodone(struct bio *bp) { struct mtx *mtxp; void (*done)(struct bio *); + vm_offset_t start, end; + int transient; mtxp = mtx_pool_find(mtxpool_sleep, bp); mtx_lock(mtxp); bp->bio_flags |= BIO_DONE; + if ((bp->bio_flags & BIO_TRANSIENT_MAPPING) != 0) { + start = trunc_page((vm_offset_t)bp->bio_data); + end = round_page((vm_offset_t)bp->bio_data + bp->bio_length); + transient = 1; + } else { + transient = 0; + start = end = 0; + } done = bp->bio_done; if (done == NULL) wakeup(bp); mtx_unlock(mtxp); if (done != NULL) done(bp); + if (transient) { + pmap_qremove(start, OFF_TO_IDX(end - start)); + vm_map_remove(bio_transient_map, start, end); + atomic_add_int(&inflight_transient_maps, -1); + } } /* @@ -3281,7 +3658,7 @@ dev_strategy(struct cdev *dev, struct buf *bp) bip->bio_offset = bp->b_iooffset; bip->bio_length = bp->b_bcount; bip->bio_bcount = bp->b_bcount; /* XXX: remove */ - bip->bio_data = bp->b_data; + bdata2bio(bp, bip); bip->bio_done = bufdonebio; bip->bio_caller2 = bp; bip->bio_dev = dev; @@ -3435,9 +3812,11 @@ bufdone_finish(struct buf *bp) } vm_object_pip_wakeupn(obj, 0); VM_OBJECT_UNLOCK(obj); - if (bogus) + if (bogus && (bp->b_flags & B_UNMAPPED) == 0) { + BUF_CHECK_MAPPED(bp); pmap_qenter(trunc_page((vm_offset_t)bp->b_data), bp->b_pages, bp->b_npages); + } } /* @@ -3480,8 +3859,12 @@ vfs_unbusy_pages(struct buf *bp) if (!m) panic("vfs_unbusy_pages: page missing\n"); bp->b_pages[i] = m; - pmap_qenter(trunc_page((vm_offset_t)bp->b_data), - bp->b_pages, bp->b_npages); + if ((bp->b_flags & B_UNMAPPED) == 0) { + BUF_CHECK_MAPPED(bp); + pmap_qenter(trunc_page((vm_offset_t)bp->b_data), + bp->b_pages, bp->b_npages); + } else + BUF_CHECK_UNMAPPED(bp); } vm_object_pip_subtract(obj, 1); vm_page_io_finish(m); @@ -3646,9 +4029,11 @@ vfs_busy_pages(struct buf *bp, int clear_modify) foff = (foff + PAGE_SIZE) & ~(off_t)PAGE_MASK; } VM_OBJECT_UNLOCK(obj); - if (bogus) + if (bogus && (bp->b_flags & B_UNMAPPED) == 0) { + BUF_CHECK_MAPPED(bp); pmap_qenter(trunc_page((vm_offset_t)bp->b_data), bp->b_pages, bp->b_npages); + } } /* @@ -3704,8 +4089,7 @@ vfs_bio_set_valid(struct buf *bp, int base, int size) void vfs_bio_clrbuf(struct buf *bp) { - int i, j, mask; - caddr_t sa, ea; + int i, j, mask, sa, ea, slide; if ((bp->b_flags & (B_VMIO | B_MALLOC)) != B_VMIO) { clrbuf(bp); @@ -3723,39 +4107,69 @@ vfs_bio_clrbuf(struct buf *bp) if ((bp->b_pages[0]->valid & mask) == mask) goto unlock; if ((bp->b_pages[0]->valid & mask) == 0) { - bzero(bp->b_data, bp->b_bufsize); + pmap_zero_page_area(bp->b_pages[0], 0, bp->b_bufsize); bp->b_pages[0]->valid |= mask; goto unlock; } } - ea = sa = bp->b_data; - for(i = 0; i < bp->b_npages; i++, sa = ea) { - ea = (caddr_t)trunc_page((vm_offset_t)sa + PAGE_SIZE); - ea = (caddr_t)(vm_offset_t)ulmin( - (u_long)(vm_offset_t)ea, - (u_long)(vm_offset_t)bp->b_data + bp->b_bufsize); + sa = bp->b_offset & PAGE_MASK; + slide = 0; + for (i = 0; i < bp->b_npages; i++) { + slide = imin(slide + PAGE_SIZE, bp->b_bufsize + sa); + ea = slide & PAGE_MASK; + if (ea == 0) + ea = PAGE_SIZE; if (bp->b_pages[i] == bogus_page) continue; - j = ((vm_offset_t)sa & PAGE_MASK) / DEV_BSIZE; + j = sa / DEV_BSIZE; mask = ((1 << ((ea - sa) / DEV_BSIZE)) - 1) << j; VM_OBJECT_LOCK_ASSERT(bp->b_pages[i]->object, MA_OWNED); if ((bp->b_pages[i]->valid & mask) == mask) continue; if ((bp->b_pages[i]->valid & mask) == 0) - bzero(sa, ea - sa); + pmap_zero_page_area(bp->b_pages[i], sa, ea - sa); else { for (; sa < ea; sa += DEV_BSIZE, j++) { - if ((bp->b_pages[i]->valid & (1 << j)) == 0) - bzero(sa, DEV_BSIZE); + if ((bp->b_pages[i]->valid & (1 << j)) == 0) { + pmap_zero_page_area(bp->b_pages[i], + sa, DEV_BSIZE); + } } } bp->b_pages[i]->valid |= mask; + sa = 0; } unlock: VM_OBJECT_UNLOCK(bp->b_bufobj->bo_object); bp->b_resid = 0; } +void +vfs_bio_bzero_buf(struct buf *bp, int base, int size) +{ + vm_page_t m; + int i, n; + + if ((bp->b_flags & B_UNMAPPED) == 0) { + BUF_CHECK_MAPPED(bp); + bzero(bp->b_data + base, size); + } else { + BUF_CHECK_UNMAPPED(bp); + n = PAGE_SIZE - (base & PAGE_MASK); + VM_OBJECT_LOCK(bp->b_bufobj->bo_object); + for (i = base / PAGE_SIZE; size > 0 && i < bp->b_npages; ++i) { + m = bp->b_pages[i]; + if (n > size) + n = size; + pmap_zero_page_area(m, base & PAGE_MASK, n); + base += n; + size -= n; + n = PAGE_SIZE; + } + VM_OBJECT_UNLOCK(bp->b_bufobj->bo_object); + } +} + /* * vm_hold_load_pages and vm_hold_free_pages get pages into * a buffers address space. The pages are anonymous and are @@ -3768,6 +4182,8 @@ vm_hold_load_pages(struct buf *bp, vm_offset_t from, vm_offset_t to) vm_page_t p; int index; + BUF_CHECK_MAPPED(bp); + to = round_page(to); from = round_page(from); index = (from - trunc_page((vm_offset_t)bp->b_data)) >> PAGE_SHIFT; @@ -3799,6 +4215,8 @@ vm_hold_free_pages(struct buf *bp, int newbsize) vm_page_t p; int index, newnpages; + BUF_CHECK_MAPPED(bp); + from = round_page((vm_offset_t)bp->b_data + newbsize); newnpages = (from - trunc_page((vm_offset_t)bp->b_data)) >> PAGE_SHIFT; if (bp->b_npages > newnpages) @@ -3829,7 +4247,7 @@ vm_hold_free_pages(struct buf *bp, int newbsize) * check the return value. */ int -vmapbuf(struct buf *bp) +vmapbuf(struct buf *bp, int mapbuf) { caddr_t kva; vm_prot_t prot; @@ -3844,12 +4262,19 @@ vmapbuf(struct buf *bp) (vm_offset_t)bp->b_data, bp->b_bufsize, prot, bp->b_pages, btoc(MAXPHYS))) < 0) return (-1); - pmap_qenter((vm_offset_t)bp->b_saveaddr, bp->b_pages, pidx); - - kva = bp->b_saveaddr; bp->b_npages = pidx; - bp->b_saveaddr = bp->b_data; - bp->b_data = kva + (((vm_offset_t) bp->b_data) & PAGE_MASK); + if (mapbuf) { + pmap_qenter((vm_offset_t)bp->b_saveaddr, bp->b_pages, pidx); + kva = bp->b_saveaddr; + bp->b_saveaddr = bp->b_data; + bp->b_data = kva + (((vm_offset_t)bp->b_data) & PAGE_MASK); + bp->b_flags &= ~B_UNMAPPED; + } else { + bp->b_flags |= B_UNMAPPED; + bp->b_offset = ((vm_offset_t)bp->b_data) & PAGE_MASK; + bp->b_saveaddr = bp->b_data; + bp->b_data = unmapped_buf; + } return(0); } @@ -3863,7 +4288,10 @@ vunmapbuf(struct buf *bp) int npages; npages = bp->b_npages; - pmap_qremove(trunc_page((vm_offset_t)bp->b_data), npages); + if (bp->b_flags & B_UNMAPPED) + bp->b_flags &= ~B_UNMAPPED; + else + pmap_qremove(trunc_page((vm_offset_t)bp->b_data), npages); vm_page_unhold_pages(bp->b_pages, npages); bp->b_data = bp->b_saveaddr; @@ -4000,6 +4428,65 @@ bunpin_wait(struct buf *bp) mtx_unlock(mtxp); } +/* + * Set bio_data or bio_ma for struct bio from the struct buf. + */ +void +bdata2bio(struct buf *bp, struct bio *bip) +{ + + if ((bp->b_flags & B_UNMAPPED) != 0) { + bip->bio_ma = bp->b_pages; + bip->bio_ma_n = bp->b_npages; + bip->bio_data = unmapped_buf; + bip->bio_ma_offset = (vm_offset_t)bp->b_offset & PAGE_MASK; + bip->bio_flags |= BIO_UNMAPPED; + KASSERT(round_page(bip->bio_ma_offset + bip->bio_length) / + PAGE_SIZE == bp->b_npages, + ("Buffer %p too short: %d %d %d", bp, bip->bio_ma_offset, + bip->bio_length, bip->bio_ma_n)); + } else { + bip->bio_data = bp->b_data; + bip->bio_ma = NULL; + } +} + +void +bufallowrecurse(struct buf *bp) +{ + struct buf *tbp; + + if ((bp->b_flags & B_CLUSTER) != 0) { + TAILQ_FOREACH(tbp, &bp->b_cluster.cluster_head, + b_cluster.cluster_entry) + lockallowrecurse(&tbp->b_lock); + } + lockallowrecurse(&bp->b_lock); +} + +void +bufdisablerecurse(struct buf *bp) +{ + struct buf *tbp; + + if ((bp->b_flags & B_CLUSTER) != 0) { + TAILQ_FOREACH(tbp, &bp->b_cluster.cluster_head, + b_cluster.cluster_entry) + lockdisablerecurse(&tbp->b_lock); + } + lockdisablerecurse(&bp->b_lock); +} + +int +bufrecallowed(struct buf *bp) +{ + struct lock *lk; + + lk = &bp->b_lock; + lockmgr_assert(lk, KA_XLOCKED); + return ((lk->lock_object.lo_flags & LO_RECURSABLE) != 0); +} + #include "opt_ddb.h" #ifdef DDB #include diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index 663b66f..60338b2 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -60,11 +60,11 @@ SYSCTL_INT(_debug, OID_AUTO, rcluster, CTLFLAG_RW, &rcluster, 0, static MALLOC_DEFINE(M_SEGMENT, "cl_savebuf", "cluster_save buffer"); -static struct cluster_save * - cluster_collectbufs(struct vnode *vp, struct buf *last_bp); -static struct buf * - cluster_rbuild(struct vnode *vp, u_quad_t filesize, daddr_t lbn, - daddr_t blkno, long size, int run, struct buf *fbp); +static struct cluster_save *cluster_collectbufs(struct vnode *vp, + struct buf *last_bp, int gbflags); +static struct buf *cluster_rbuild(struct vnode *vp, u_quad_t filesize, + daddr_t lbn, daddr_t blkno, long size, int run, int gbflags, + struct buf *fbp); static void cluster_callback(struct buf *); static int write_behind = 1; @@ -83,15 +83,9 @@ extern vm_page_t bogus_page; * cluster_read replaces bread. */ int -cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp) - struct vnode *vp; - u_quad_t filesize; - daddr_t lblkno; - long size; - struct ucred *cred; - long totread; - int seqcount; - struct buf **bpp; +cluster_read(struct vnode *vp, u_quad_t filesize, daddr_t lblkno, long size, + struct ucred *cred, long totread, int seqcount, int gbflags, + struct buf **bpp) { struct buf *bp, *rbp, *reqbp; struct bufobj *bo; @@ -117,7 +111,7 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp) /* * get the requested block */ - *bpp = reqbp = bp = getblk(vp, lblkno, size, 0, 0, 0); + *bpp = reqbp = bp = getblk(vp, lblkno, size, 0, 0, gbflags); origblkno = lblkno; /* @@ -208,7 +202,7 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp) if (ncontig < nblks) nblks = ncontig; bp = cluster_rbuild(vp, filesize, lblkno, - blkno, size, nblks, bp); + blkno, size, nblks, gbflags, bp); lblkno += (bp->b_bufsize / size); } else { bp->b_flags |= B_RAM; @@ -252,14 +246,14 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp) if (ncontig) { ncontig = min(ncontig + 1, racluster); rbp = cluster_rbuild(vp, filesize, lblkno, blkno, - size, ncontig, NULL); + size, ncontig, gbflags, NULL); lblkno += (rbp->b_bufsize / size); if (rbp->b_flags & B_DELWRI) { bqrelse(rbp); continue; } } else { - rbp = getblk(vp, lblkno, size, 0, 0, 0); + rbp = getblk(vp, lblkno, size, 0, 0, gbflags); lblkno += 1; if (rbp->b_flags & B_DELWRI) { bqrelse(rbp); @@ -298,14 +292,8 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp) * and then parcel them up into logical blocks in the buffer hash table. */ static struct buf * -cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp) - struct vnode *vp; - u_quad_t filesize; - daddr_t lbn; - daddr_t blkno; - long size; - int run; - struct buf *fbp; +cluster_rbuild(struct vnode *vp, u_quad_t filesize, daddr_t lbn, + daddr_t blkno, long size, int run, int gbflags, struct buf *fbp) { struct bufobj *bo; struct buf *bp, *tbp; @@ -329,7 +317,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp) tbp = fbp; tbp->b_iocmd = BIO_READ; } else { - tbp = getblk(vp, lbn, size, 0, 0, 0); + tbp = getblk(vp, lbn, size, 0, 0, gbflags); if (tbp->b_flags & B_CACHE) return tbp; tbp->b_flags |= B_ASYNC | B_RAM; @@ -350,9 +338,14 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp) * address may not be either. Inherit the b_data offset * from the original buffer. */ - bp->b_data = (char *)((vm_offset_t)bp->b_data | - ((vm_offset_t)tbp->b_data & PAGE_MASK)); bp->b_flags = B_ASYNC | B_CLUSTER | B_VMIO; + if ((gbflags & GB_UNMAPPED) != 0) { + bp->b_flags |= B_UNMAPPED; + bp->b_data = unmapped_buf; + } else { + bp->b_data = (char *)((vm_offset_t)bp->b_data | + ((vm_offset_t)tbp->b_data & PAGE_MASK)); + } bp->b_iocmd = BIO_READ; bp->b_iodone = cluster_callback; bp->b_blkno = blkno; @@ -376,7 +369,8 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp) break; } - tbp = getblk(vp, lbn + i, size, 0, 0, GB_LOCK_NOWAIT); + tbp = getblk(vp, lbn + i, size, 0, 0, GB_LOCK_NOWAIT | + (gbflags & GB_UNMAPPED)); /* Don't wait around for locked bufs. */ if (tbp == NULL) @@ -499,8 +493,10 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp) bp->b_bufsize, bp->b_kvasize); bp->b_kvasize = bp->b_bufsize; - pmap_qenter(trunc_page((vm_offset_t) bp->b_data), - (vm_page_t *)bp->b_pages, bp->b_npages); + if ((bp->b_flags & B_UNMAPPED) == 0) { + pmap_qenter(trunc_page((vm_offset_t) bp->b_data), + (vm_page_t *)bp->b_pages, bp->b_npages); + } return (bp); } @@ -523,7 +519,10 @@ cluster_callback(bp) if (bp->b_ioflags & BIO_ERROR) error = bp->b_error; - pmap_qremove(trunc_page((vm_offset_t) bp->b_data), bp->b_npages); + if ((bp->b_flags & B_UNMAPPED) == 0) { + pmap_qremove(trunc_page((vm_offset_t) bp->b_data), + bp->b_npages); + } /* * Move memory from the large cluster buffer into the component * buffers and mark IO as done on these. @@ -565,18 +564,19 @@ cluster_callback(bp) */ static __inline int -cluster_wbuild_wb(struct vnode *vp, long size, daddr_t start_lbn, int len) +cluster_wbuild_wb(struct vnode *vp, long size, daddr_t start_lbn, int len, + int gbflags) { int r = 0; - switch(write_behind) { + switch (write_behind) { case 2: if (start_lbn < len) break; start_lbn -= len; /* FALLTHROUGH */ case 1: - r = cluster_wbuild(vp, size, start_lbn, len); + r = cluster_wbuild(vp, size, start_lbn, len, gbflags); /* FALLTHROUGH */ default: /* FALLTHROUGH */ @@ -596,7 +596,8 @@ cluster_wbuild_wb(struct vnode *vp, long size, daddr_t start_lbn, int len) * 4. end of a cluster - asynchronously write cluster */ void -cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount) +cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount, + int gbflags) { daddr_t lbn; int maxclen, cursize; @@ -642,13 +643,13 @@ cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount) lbn != vp->v_lastw + 1 || vp->v_clen <= cursize) { if (!async && seqcount > 0) { cluster_wbuild_wb(vp, lblocksize, - vp->v_cstart, cursize); + vp->v_cstart, cursize, gbflags); } } else { struct buf **bpp, **endbp; struct cluster_save *buflist; - buflist = cluster_collectbufs(vp, bp); + buflist = cluster_collectbufs(vp, bp, gbflags); endbp = &buflist->bs_children [buflist->bs_nchildren - 1]; if (VOP_REALLOCBLKS(vp, buflist)) { @@ -667,7 +668,7 @@ cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount) if (seqcount > 1) { cluster_wbuild_wb(vp, lblocksize, vp->v_cstart, - cursize); + cursize, gbflags); } } else { /* @@ -715,8 +716,10 @@ cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount) * update daemon handle it. */ bdwrite(bp); - if (seqcount > 1) - cluster_wbuild_wb(vp, lblocksize, vp->v_cstart, vp->v_clen + 1); + if (seqcount > 1) { + cluster_wbuild_wb(vp, lblocksize, vp->v_cstart, + vp->v_clen + 1, gbflags); + } vp->v_clen = 0; vp->v_cstart = lbn + 1; } else if (vm_page_count_severe()) { @@ -742,11 +745,8 @@ cluster_write(struct vnode *vp, struct buf *bp, u_quad_t filesize, int seqcount) * the current block (if last_bp == NULL). */ int -cluster_wbuild(vp, size, start_lbn, len) - struct vnode *vp; - long size; - daddr_t start_lbn; - int len; +cluster_wbuild(struct vnode *vp, long size, daddr_t start_lbn, int len, + int gbflags) { struct buf *bp, *tbp; struct bufobj *bo; @@ -832,10 +832,16 @@ cluster_wbuild(vp, size, start_lbn, len) * address may not be either. Inherit the b_data offset * from the original buffer. */ - bp->b_data = (char *)((vm_offset_t)bp->b_data | - ((vm_offset_t)tbp->b_data & PAGE_MASK)); - bp->b_flags |= B_CLUSTER | - (tbp->b_flags & (B_VMIO | B_NEEDCOMMIT)); + if ((gbflags & GB_UNMAPPED) == 0 || + (tbp->b_flags & B_VMIO) == 0) { + bp->b_data = (char *)((vm_offset_t)bp->b_data | + ((vm_offset_t)tbp->b_data & PAGE_MASK)); + } else { + bp->b_flags |= B_UNMAPPED; + bp->b_data = unmapped_buf; + } + bp->b_flags |= B_CLUSTER | (tbp->b_flags & (B_VMIO | + B_NEEDCOMMIT)); bp->b_iodone = cluster_callback; pbgetvp(vp, bp); /* @@ -962,8 +968,10 @@ cluster_wbuild(vp, size, start_lbn, len) tbp, b_cluster.cluster_entry); } finishcluster: - pmap_qenter(trunc_page((vm_offset_t) bp->b_data), - (vm_page_t *) bp->b_pages, bp->b_npages); + if ((bp->b_flags & B_UNMAPPED) == 0) { + pmap_qenter(trunc_page((vm_offset_t) bp->b_data), + (vm_page_t *)bp->b_pages, bp->b_npages); + } if (bp->b_bufsize > bp->b_kvasize) panic( "cluster_wbuild: b_bufsize(%ld) > b_kvasize(%d)\n", @@ -984,9 +992,7 @@ cluster_wbuild(vp, size, start_lbn, len) * Plus add one additional buffer. */ static struct cluster_save * -cluster_collectbufs(vp, last_bp) - struct vnode *vp; - struct buf *last_bp; +cluster_collectbufs(struct vnode *vp, struct buf *last_bp, int gbflags) { struct cluster_save *buflist; struct buf *bp; @@ -999,7 +1005,8 @@ cluster_collectbufs(vp, last_bp) buflist->bs_nchildren = 0; buflist->bs_children = (struct buf **) (buflist + 1); for (lbn = vp->v_cstart, i = 0; i < len; lbn++, i++) { - (void) bread(vp, lbn, last_bp->b_bcount, NOCRED, &bp); + (void)bread_gb(vp, lbn, last_bp->b_bcount, NOCRED, + gbflags, &bp); buflist->bs_children[i] = bp; if (bp->b_blkno == bp->b_lblkno) VOP_BMAP(vp, bp->b_lblkno, NULL, &bp->b_blkno, diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 32c0978..6b28580 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -1121,6 +1121,45 @@ vn_io_fault_uiomove(char *data, int xfersize, struct uio *uio) return (error); } +int +vn_io_fault_pgmove(vm_page_t ma[], vm_offset_t offset, int xfersize, + struct uio *uio) +{ + struct thread *td; + vm_offset_t iov_base; + int cnt, pgadv; + + td = curthread; + if ((td->td_pflags & TDP_UIOHELD) == 0 || + uio->uio_segflg != UIO_USERSPACE) + return (uiomove_fromphys(ma, offset, xfersize, uio)); + + KASSERT(uio->uio_iovcnt == 1, ("uio_iovcnt %d", uio->uio_iovcnt)); + cnt = xfersize > uio->uio_resid ? uio->uio_resid : xfersize; + iov_base = (vm_offset_t)uio->uio_iov->iov_base; + switch (uio->uio_rw) { + case UIO_WRITE: + pmap_copy_pages(td->td_ma, iov_base & PAGE_MASK, ma, + offset, cnt); + break; + case UIO_READ: + pmap_copy_pages(ma, offset, td->td_ma, iov_base & PAGE_MASK, + cnt); + break; + } + pgadv = ((iov_base + cnt) >> PAGE_SHIFT) - (iov_base >> PAGE_SHIFT); + td->td_ma += pgadv; + KASSERT(td->td_ma_cnt >= pgadv, ("consumed pages %d %d", td->td_ma_cnt, + pgadv)); + td->td_ma_cnt -= pgadv; + uio->uio_iov->iov_base = (char *)(iov_base + cnt); + uio->uio_iov->iov_len -= cnt; + uio->uio_resid -= cnt; + uio->uio_offset += cnt; + return (0); +} + + /* * File table truncate routine. */ diff --git a/sys/mips/mips/pmap.c b/sys/mips/mips/pmap.c index 7925b8c..4fdc88d 100644 --- a/sys/mips/mips/pmap.c +++ b/sys/mips/mips/pmap.c @@ -2576,6 +2576,51 @@ pmap_copy_page(vm_page_t src, vm_page_t dst) } } +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + char *a_cp, *b_cp; + vm_page_t a_m, b_m; + vm_offset_t a_pg_offset, b_pg_offset; + vm_paddr_t a_phys, b_phys; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_m = ma[a_offset >> PAGE_SHIFT]; + a_phys = VM_PAGE_TO_PHYS(a_m); + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_m = mb[b_offset >> PAGE_SHIFT]; + b_phys = VM_PAGE_TO_PHYS(b_m); + if (MIPS_DIRECT_MAPPABLE(a_phys) && + MIPS_DIRECT_MAPPABLE(b_phys)) { + pmap_flush_pvcache(a_m); + mips_dcache_wbinv_range_index( + MIPS_PHYS_TO_DIRECT(b_phys), PAGE_SIZE); + a_cp = (char *)MIPS_PHYS_TO_DIRECT(a_phys) + + a_pg_offset; + b_cp = (char *)MIPS_PHYS_TO_DIRECT(b_phys) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + mips_dcache_wbinv_range((vm_offset_t)b_cp, cnt); + } else { + a_cp = (char *)pmap_lmem_map2(a_phys, b_phys); + b_cp = (char *)a_cp + PAGE_SIZE; + a_cp += a_pg_offset; + b_cp += b_pg_offset; + bcopy(a_cp, b_cp, cnt); + mips_dcache_wbinv_range((vm_offset_t)b_cp, cnt); + pmap_lmem_unmap(); + } + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index b173760..9b496ac 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -276,6 +276,8 @@ void moea_change_wiring(mmu_t, pmap_t, vm_offset_t, boolean_t); void moea_clear_modify(mmu_t, vm_page_t); void moea_clear_reference(mmu_t, vm_page_t); void moea_copy_page(mmu_t, vm_page_t, vm_page_t); +void moea_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize); void moea_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); void moea_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_page_t, vm_prot_t); @@ -321,6 +323,7 @@ static mmu_method_t moea_methods[] = { MMUMETHOD(mmu_clear_modify, moea_clear_modify), MMUMETHOD(mmu_clear_reference, moea_clear_reference), MMUMETHOD(mmu_copy_page, moea_copy_page), + MMUMETHOD(mmu_copy_pages, moea_copy_pages), MMUMETHOD(mmu_enter, moea_enter), MMUMETHOD(mmu_enter_object, moea_enter_object), MMUMETHOD(mmu_enter_quick, moea_enter_quick), @@ -1044,6 +1047,30 @@ moea_copy_page(mmu_t mmu, vm_page_t msrc, vm_page_t mdst) bcopy((void *)src, (void *)dst, PAGE_SIZE); } +void +moea_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT]) + + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT]) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Zero a page of physical memory by temporarily mapping it into the tlb. */ diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c index 00dab9b..a7bacf4 100644 --- a/sys/powerpc/aim/mmu_oea64.c +++ b/sys/powerpc/aim/mmu_oea64.c @@ -291,6 +291,8 @@ void moea64_change_wiring(mmu_t, pmap_t, vm_offset_t, boolean_t); void moea64_clear_modify(mmu_t, vm_page_t); void moea64_clear_reference(mmu_t, vm_page_t); void moea64_copy_page(mmu_t, vm_page_t, vm_page_t); +void moea64_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize); void moea64_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); void moea64_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, vm_page_t, vm_prot_t); @@ -335,6 +337,7 @@ static mmu_method_t moea64_methods[] = { MMUMETHOD(mmu_clear_modify, moea64_clear_modify), MMUMETHOD(mmu_clear_reference, moea64_clear_reference), MMUMETHOD(mmu_copy_page, moea64_copy_page), + MMUMETHOD(mmu_copy_pages, moea64_copy_pages), MMUMETHOD(mmu_enter, moea64_enter), MMUMETHOD(mmu_enter_object, moea64_enter_object), MMUMETHOD(mmu_enter_quick, moea64_enter_quick), @@ -1105,6 +1108,72 @@ moea64_copy_page(mmu_t mmu, vm_page_t msrc, vm_page_t mdst) } } +static inline void +moea64_copy_pages_dmap(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + a_cp = (char *)VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT]) + + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + b_cp = (char *)VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT]) + + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + +static inline void +moea64_copy_pages_nodmap(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + mtx_lock(&moea64_scratchpage_mtx); + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + moea64_set_scratchpage_pa(mmu, 0, + VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT])); + a_cp = (char *)moea64_scratchpage_va[0] + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + moea64_set_scratchpage_pa(mmu, 1, + VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])); + b_cp = (char *)moea64_scratchpage_va[1] + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + mtx_unlock(&moea64_scratchpage_mtx); +} + +void +moea64_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + + if (hw_direct_map) { + moea64_copy_pages_dmap(mmu, ma, a_offset, mb, b_offset, + xfersize); + } else { + moea64_copy_pages_nodmap(mmu, ma, a_offset, mb, b_offset, + xfersize); + } +} + void moea64_zero_page_area(mmu_t mmu, vm_page_t m, int off, int size) { diff --git a/sys/powerpc/booke/pmap.c b/sys/powerpc/booke/pmap.c index f6e5f9c..233e1e0 100644 --- a/sys/powerpc/booke/pmap.c +++ b/sys/powerpc/booke/pmap.c @@ -275,6 +275,8 @@ static void mmu_booke_clear_reference(mmu_t, vm_page_t); static void mmu_booke_copy(mmu_t, pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t); static void mmu_booke_copy_page(mmu_t, vm_page_t, vm_page_t); +static void mmu_booke_copy_pages(mmu_t, vm_page_t *, + vm_offset_t, vm_page_t *, vm_offset_t, int); static void mmu_booke_enter(mmu_t, pmap_t, vm_offset_t, vm_page_t, vm_prot_t, boolean_t); static void mmu_booke_enter_object(mmu_t, pmap_t, vm_offset_t, vm_offset_t, @@ -335,6 +337,7 @@ static mmu_method_t mmu_booke_methods[] = { MMUMETHOD(mmu_clear_reference, mmu_booke_clear_reference), MMUMETHOD(mmu_copy, mmu_booke_copy), MMUMETHOD(mmu_copy_page, mmu_booke_copy_page), + MMUMETHOD(mmu_copy_pages, mmu_booke_copy_pages), MMUMETHOD(mmu_enter, mmu_booke_enter), MMUMETHOD(mmu_enter_object, mmu_booke_enter_object), MMUMETHOD(mmu_enter_quick, mmu_booke_enter_quick), @@ -2138,6 +2141,36 @@ mmu_booke_copy_page(mmu_t mmu, vm_page_t sm, vm_page_t dm) mtx_unlock(©_page_mutex); } +static inline void +mmu_booke_copy_pages(mmu_t mmu, vm_page_t *ma, vm_offset_t a_offset, + vm_page_t *mb, vm_offset_t b_offset, int xfersize) +{ + void *a_cp, *b_cp; + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + mtx_lock(©_page_mutex); + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + mmu_booke_kenter(mmu, copy_page_src_va, + VM_PAGE_TO_PHYS(ma[a_offset >> PAGE_SHIFT])); + a_cp = (char *)copy_page_src_va + a_pg_offset; + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + mmu_booke_kenter(mmu, copy_page_dst_va, + VM_PAGE_TO_PHYS(mb[b_offset >> PAGE_SHIFT])); + b_cp = (char *)copy_page_dst_va + b_pg_offset; + bcopy(a_cp, b_cp, cnt); + mmu_booke_kremove(mmu, copy_page_dst_va); + mmu_booke_kremove(mmu, copy_page_src_va); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } + mtx_unlock(©_page_mutex); +} + /* * mmu_booke_zero_page_idle zeros the specified hardware page by mapping it * into virtual memory and using bzero to clear its contents. This is intended diff --git a/sys/powerpc/powerpc/mmu_if.m b/sys/powerpc/powerpc/mmu_if.m index 8cd6e52..0382bd8 100644 --- a/sys/powerpc/powerpc/mmu_if.m +++ b/sys/powerpc/powerpc/mmu_if.m @@ -215,6 +215,14 @@ METHOD void copy_page { vm_page_t _dst; }; +METHOD void copy_pages { + mmu_t _mmu; + vm_page_t *_ma; + vm_offset_t _a_offset; + vm_page_t *_mb; + vm_offset_t _b_offset; + int _xfersize; +}; /** * @brief Create a mapping between a virtual/physical address pair in the diff --git a/sys/powerpc/powerpc/pmap_dispatch.c b/sys/powerpc/powerpc/pmap_dispatch.c index c919196..42f1a39 100644 --- a/sys/powerpc/powerpc/pmap_dispatch.c +++ b/sys/powerpc/powerpc/pmap_dispatch.c @@ -133,6 +133,16 @@ pmap_copy_page(vm_page_t src, vm_page_t dst) } void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + + CTR6(KTR_PMAP, "%s(%p, %#x, %p, %#x, %#x)", __func__, ma, + a_offset, mb, b_offset, xfersize); + MMU_COPY_PAGES(mmu_obj, ma, a_offset, mb, b_offset, xfersize); +} + +void pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t p, vm_prot_t prot, boolean_t wired) { diff --git a/sys/sparc64/sparc64/pmap.c b/sys/sparc64/sparc64/pmap.c index 08f008c..27947dd 100644 --- a/sys/sparc64/sparc64/pmap.c +++ b/sys/sparc64/sparc64/pmap.c @@ -1835,8 +1835,9 @@ pmap_zero_page_idle(vm_page_t m) } } -void -pmap_copy_page(vm_page_t msrc, vm_page_t mdst) +static void +pmap_copy_page_offs(vm_page_t msrc, int src_off, vm_page_t mdst, int dst_off, + int cnt) { vm_offset_t vdst; vm_offset_t vsrc; @@ -1857,16 +1858,17 @@ pmap_copy_page(vm_page_t msrc, vm_page_t mdst) PMAP_STATS_INC(pmap_ncopy_page_c); vdst = TLB_PHYS_TO_DIRECT(pdst); vsrc = TLB_PHYS_TO_DIRECT(psrc); - cpu_block_copy((void *)vsrc, (void *)vdst, PAGE_SIZE); + cpu_block_copy((char *)vsrc + src_off, (char *)vdst + dst_off, + cnt); } else if (msrc->md.color == -1 && mdst->md.color == -1) { PMAP_STATS_INC(pmap_ncopy_page_nc); - ascopy(ASI_PHYS_USE_EC, psrc, pdst, PAGE_SIZE); + ascopy(ASI_PHYS_USE_EC, psrc + src_off, pdst + dst_off, cnt); } else if (msrc->md.color == -1) { if (mdst->md.color == DCACHE_COLOR(pdst)) { PMAP_STATS_INC(pmap_ncopy_page_dc); vdst = TLB_PHYS_TO_DIRECT(pdst); - ascopyfrom(ASI_PHYS_USE_EC, psrc, (void *)vdst, - PAGE_SIZE); + ascopyfrom(ASI_PHYS_USE_EC, psrc + src_off, + (char *)vdst + dst_off, cnt); } else { PMAP_STATS_INC(pmap_ncopy_page_doc); PMAP_LOCK(kernel_pmap); @@ -1875,8 +1877,8 @@ pmap_copy_page(vm_page_t msrc, vm_page_t mdst) tp->tte_data = TD_V | TD_8K | TD_PA(pdst) | TD_CP | TD_CV | TD_W; tp->tte_vpn = TV_VPN(vdst, TS_8K); - ascopyfrom(ASI_PHYS_USE_EC, psrc, (void *)vdst, - PAGE_SIZE); + ascopyfrom(ASI_PHYS_USE_EC, psrc + src_off, + (char *)vdst + dst_off, cnt); tlb_page_demap(kernel_pmap, vdst); PMAP_UNLOCK(kernel_pmap); } @@ -1884,8 +1886,8 @@ pmap_copy_page(vm_page_t msrc, vm_page_t mdst) if (msrc->md.color == DCACHE_COLOR(psrc)) { PMAP_STATS_INC(pmap_ncopy_page_sc); vsrc = TLB_PHYS_TO_DIRECT(psrc); - ascopyto((void *)vsrc, ASI_PHYS_USE_EC, pdst, - PAGE_SIZE); + ascopyto((char *)vsrc + src_off, ASI_PHYS_USE_EC, + pdst + dst_off, cnt); } else { PMAP_STATS_INC(pmap_ncopy_page_soc); PMAP_LOCK(kernel_pmap); @@ -1894,8 +1896,8 @@ pmap_copy_page(vm_page_t msrc, vm_page_t mdst) tp->tte_data = TD_V | TD_8K | TD_PA(psrc) | TD_CP | TD_CV | TD_W; tp->tte_vpn = TV_VPN(vsrc, TS_8K); - ascopyto((void *)vsrc, ASI_PHYS_USE_EC, pdst, - PAGE_SIZE); + ascopyto((char *)vsrc + src_off, ASI_PHYS_USE_EC, + pdst + dst_off, cnt); tlb_page_demap(kernel_pmap, vsrc); PMAP_UNLOCK(kernel_pmap); } @@ -1912,13 +1914,41 @@ pmap_copy_page(vm_page_t msrc, vm_page_t mdst) tp->tte_data = TD_V | TD_8K | TD_PA(psrc) | TD_CP | TD_CV | TD_W; tp->tte_vpn = TV_VPN(vsrc, TS_8K); - cpu_block_copy((void *)vsrc, (void *)vdst, PAGE_SIZE); + cpu_block_copy((char *)vsrc + src_off, (char *)vdst + dst_off, + cnt); tlb_page_demap(kernel_pmap, vdst); tlb_page_demap(kernel_pmap, vsrc); PMAP_UNLOCK(kernel_pmap); } } +void +pmap_copy_page(vm_page_t msrc, vm_page_t mdst) +{ + + pmap_copy_page_offs(msrc, 0, mdst, 0, PAGE_SIZE); +} + +void +pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, vm_page_t mb[], + vm_offset_t b_offset, int xfersize) +{ + vm_offset_t a_pg_offset, b_pg_offset; + int cnt; + + while (xfersize > 0) { + a_pg_offset = a_offset & PAGE_MASK; + cnt = min(xfersize, PAGE_SIZE - a_pg_offset); + b_pg_offset = b_offset & PAGE_MASK; + cnt = min(cnt, PAGE_SIZE - b_pg_offset); + pmap_copy_page_offs(ma[a_offset >> PAGE_SHIFT], a_pg_offset, + mb[b_offset >> PAGE_SHIFT], b_pg_offset, cnt); + a_offset += cnt; + b_offset += cnt; + xfersize -= cnt; + } +} + /* * Returns true if the pmap's pv is one of the first * 16 pvs linked to from this page. This count may diff --git a/sys/sys/bio.h b/sys/sys/bio.h index c016ee6..7678f5a 100644 --- a/sys/sys/bio.h +++ b/sys/sys/bio.h @@ -55,10 +55,13 @@ #define BIO_DONE 0x02 #define BIO_ONQUEUE 0x04 #define BIO_ORDERED 0x08 +#define BIO_UNMAPPED 0x10 +#define BIO_TRANSIENT_MAPPING 0x20 #ifdef _KERNEL struct disk; struct bio; +struct vm_map; /* Empty classifier tag, to prevent further classification. */ #define BIO_NOTCLASSIFIED (void *)(~0UL) @@ -78,6 +81,9 @@ struct bio { off_t bio_offset; /* Offset into file. */ long bio_bcount; /* Valid bytes in buffer. */ caddr_t bio_data; /* Memory, superblocks, indirect etc. */ + struct vm_page **bio_ma; /* Or unmapped. */ + int bio_ma_offset; /* Offset in the first page of bio_ma. */ + int bio_ma_n; /* Number of pages in bio_ma. */ int bio_error; /* Errno for BIO_ERROR. */ long bio_resid; /* Remaining I/O in bytes. */ void (*bio_done)(struct bio *); @@ -121,6 +127,9 @@ struct bio_queue_head { struct bio *insert_point; }; +extern struct vm_map *bio_transient_map; +extern int bio_transient_maxcnt; + void biodone(struct bio *bp); void biofinish(struct bio *bp, struct devstat *stat, int error); int biowait(struct bio *bp, const char *wchan); diff --git a/sys/sys/buf.h b/sys/sys/buf.h index 672ef5a..7e0fc1d 100644 --- a/sys/sys/buf.h +++ b/sys/sys/buf.h @@ -117,6 +117,7 @@ struct buf { long b_bufsize; /* Allocated buffer size. */ long b_runningbufspace; /* when I/O is running, pipelining */ caddr_t b_kvabase; /* base kva for buffer */ + caddr_t b_kvaalloc; /* allocated kva for B_KVAALLOC */ int b_kvasize; /* size of kva for buffer */ daddr_t b_lblkno; /* Logical block number. */ struct vnode *b_vp; /* Device vnode. */ @@ -202,8 +203,8 @@ struct buf { #define B_PERSISTENT 0x00000100 /* Perm. ref'ed while EXT2FS mounted. */ #define B_DONE 0x00000200 /* I/O completed. */ #define B_EINTR 0x00000400 /* I/O was interrupted */ -#define B_00000800 0x00000800 /* Available flag. */ -#define B_00001000 0x00001000 /* Available flag. */ +#define B_UNMAPPED 0x00000800 /* KVA is not mapped. */ +#define B_KVAALLOC 0x00001000 /* But allocated. */ #define B_INVAL 0x00002000 /* Does not contain valid info. */ #define B_BARRIER 0x00004000 /* Write this and all preceeding first. */ #define B_NOCACHE 0x00008000 /* Do not cache block after use. */ @@ -453,7 +454,9 @@ buf_countdeps(struct buf *bp, int i) */ #define GB_LOCK_NOWAIT 0x0001 /* Fail if we block on a buf lock. */ #define GB_NOCREAT 0x0002 /* Don't create a buf if not found. */ -#define GB_NOWAIT_BD 0x0004 /* Do not wait for bufdaemon */ +#define GB_NOWAIT_BD 0x0004 /* Do not wait for bufdaemon. */ +#define GB_UNMAPPED 0x0008 /* Do not mmap buffer pages. */ +#define GB_KVAALLOC 0x0010 /* But allocate KVA. */ #ifdef _KERNEL extern int nbuf; /* The number of buffer headers */ @@ -470,17 +473,22 @@ extern struct buf *swbuf; /* Swap I/O buffer headers. */ extern int nswbuf; /* Number of swap I/O buffer headers. */ extern int cluster_pbuf_freecnt; /* Number of pbufs for clusters */ extern int vnode_pbuf_freecnt; /* Number of pbufs for vnode pager */ +extern caddr_t unmapped_buf; void runningbufwakeup(struct buf *); void waitrunningbufspace(void); caddr_t kern_vfs_bio_buffer_alloc(caddr_t v, long physmem_est); void bufinit(void); +void bdata2bio(struct buf *bp, struct bio *bip); void bwillwrite(void); int buf_dirty_count_severe(void); void bremfree(struct buf *); void bremfreef(struct buf *); /* XXX Force bremfree, only for nfs. */ #define bread(vp, blkno, size, cred, bpp) \ - breadn_flags(vp, blkno, size, 0, 0, 0, cred, 0, bpp) + breadn_flags(vp, blkno, size, NULL, NULL, 0, cred, 0, bpp) +#define bread_gb(vp, blkno, size, cred, gbflags, bpp) \ + breadn_flags(vp, blkno, size, NULL, NULL, 0, cred, \ + gbflags, bpp) #define breadn(vp, blkno, size, rablkno, rabsize, cnt, cred, bpp) \ breadn_flags(vp, blkno, size, rablkno, rabsize, cnt, cred, 0, bpp) int breadn_flags(struct vnode *, daddr_t, int, daddr_t *, int *, int, @@ -508,14 +516,15 @@ void bufdone_finish(struct buf *); void bd_speedup(void); int cluster_read(struct vnode *, u_quad_t, daddr_t, long, - struct ucred *, long, int, struct buf **); -int cluster_wbuild(struct vnode *, long, daddr_t, int); -void cluster_write(struct vnode *, struct buf *, u_quad_t, int); + struct ucred *, long, int, int, struct buf **); +int cluster_wbuild(struct vnode *, long, daddr_t, int, int); +void cluster_write(struct vnode *, struct buf *, u_quad_t, int, int); +void vfs_bio_bzero_buf(struct buf *bp, int base, int size); void vfs_bio_set_valid(struct buf *, int base, int size); void vfs_bio_clrbuf(struct buf *); void vfs_busy_pages(struct buf *, int clear_modify); void vfs_unbusy_pages(struct buf *); -int vmapbuf(struct buf *); +int vmapbuf(struct buf *, int); void vunmapbuf(struct buf *); void relpbuf(struct buf *, int *); void brelvp(struct buf *); @@ -533,6 +542,10 @@ void bpin(struct buf *); void bunpin(struct buf *); void bunpin_wait(struct buf *); +void bufallowrecurse(struct buf *); +void bufdisablerecurse(struct buf *); +int bufrecallowed(struct buf *); + #endif /* _KERNEL */ #endif /* !_SYS_BUF_H_ */ diff --git a/sys/sys/mount.h b/sys/sys/mount.h index f73d5d7..a9c86f6 100644 --- a/sys/sys/mount.h +++ b/sys/sys/mount.h @@ -351,6 +351,7 @@ void __mnt_vnode_markerfree_active(struct vnode **mvp, struct mount *); #define MNTK_VGONE_WAITER 0x00000400 #define MNTK_LOOKUP_EXCL_DOTDOT 0x00000800 #define MNTK_MARKER 0x00001000 +#define MNTK_UNMAPPED_BUFS 0x00002000 #define MNTK_NOASYNC 0x00800000 /* disable async */ #define MNTK_UNMOUNT 0x01000000 /* unmount in progress */ #define MNTK_MWAIT 0x02000000 /* waiting for unmount to finish */ diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index b54dc04..e6a41a4 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -692,6 +692,8 @@ int vn_vget_ino(struct vnode *vp, ino_t ino, int lkflags, struct vnode **rvp); int vn_io_fault_uiomove(char *data, int xfersize, struct uio *uio); +int vn_io_fault_pgmove(vm_page_t ma[], vm_offset_t offset, int xfersize, + struct uio *uio); #define vn_rangelock_unlock(vp, cookie) \ rangelock_unlock(&(vp)->v_rl, (cookie), VI_MTX(vp)) diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index abe4073..ab08229 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -254,7 +254,7 @@ ffs_realloccg(ip, lbprev, bprev, bpref, osize, nsize, flags, cred, bpp) struct buf *bp; struct ufsmount *ump; u_int cg, request, reclaimed; - int error; + int error, gbflags; ufs2_daddr_t bno; static struct timeval lastfail; static int curfail; @@ -265,6 +265,8 @@ ffs_realloccg(ip, lbprev, bprev, bpref, osize, nsize, flags, cred, bpp) fs = ip->i_fs; bp = NULL; ump = ip->i_ump; + gbflags = (flags & BA_UNMAPPED) != 0 ? GB_UNMAPPED : 0; + mtx_assert(UFS_MTX(ump), MA_OWNED); #ifdef INVARIANTS if (vp->v_mount->mnt_kern_flag & MNTK_SUSPENDED) @@ -296,7 +298,7 @@ retry: /* * Allocate the extra space in the buffer. */ - error = bread(vp, lbprev, osize, NOCRED, &bp); + error = bread_gb(vp, lbprev, osize, NOCRED, gbflags, &bp); if (error) { brelse(bp); return (error); @@ -332,7 +334,7 @@ retry: ip->i_flag |= IN_CHANGE | IN_UPDATE; allocbuf(bp, nsize); bp->b_flags |= B_DONE; - bzero(bp->b_data + osize, nsize - osize); + vfs_bio_bzero_buf(bp, osize, nsize - osize); if ((bp->b_flags & (B_MALLOC | B_VMIO)) == B_VMIO) vfs_bio_set_valid(bp, osize, nsize - osize); *bpp = bp; @@ -400,7 +402,7 @@ retry: ip->i_flag |= IN_CHANGE | IN_UPDATE; allocbuf(bp, nsize); bp->b_flags |= B_DONE; - bzero(bp->b_data + osize, nsize - osize); + vfs_bio_bzero_buf(bp, osize, nsize - osize); if ((bp->b_flags & (B_MALLOC | B_VMIO)) == B_VMIO) vfs_bio_set_valid(bp, osize, nsize - osize); *bpp = bp; @@ -1813,7 +1815,7 @@ ffs_nodealloccg(ip, cg, ipref, mode, unused) struct ufsmount *ump; u_int8_t *inosused, *loc; struct ufs2_dinode *dp2; - int error, start, len, i; + int error, start, len, i, rec; fs = ip->i_fs; ump = ip->i_ump; @@ -1882,7 +1884,14 @@ gotit: * written. The barrier write should only slow down bulk * loading of newly created filesystems. */ + if (!bufrecallowed(bp)) { + bufallowrecurse(bp); + rec = 1; + } else + rec = 0; babarrierwrite(ibp); + if (rec) + bufdisablerecurse(bp); cgp->cg_initediblk += INOPB(fs); } UFS_LOCK(ump); diff --git a/sys/ufs/ffs/ffs_balloc.c b/sys/ufs/ffs/ffs_balloc.c index 0e29be87f..d20df77 100644 --- a/sys/ufs/ffs/ffs_balloc.c +++ b/sys/ufs/ffs/ffs_balloc.c @@ -107,7 +107,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, int size, int saved_inbdflush; static struct timeval lastfail; static int curfail; - int reclaimed; + int gbflags, reclaimed; ip = VTOI(vp); dp = ip->i_din1; @@ -123,6 +123,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, int size, return (EOPNOTSUPP); if (lbn < 0) return (EFBIG); + gbflags = (flags & BA_UNMAPPED) != 0 ? GB_UNMAPPED : 0; if (DOINGSOFTDEP(vp)) softdep_prealloc(vp, MNT_WAIT); @@ -211,7 +212,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, int size, nsize, flags, cred, &newb); if (error) return (error); - bp = getblk(vp, lbn, nsize, 0, 0, 0); + bp = getblk(vp, lbn, nsize, 0, 0, gbflags); bp->b_blkno = fsbtodb(fs, newb); if (flags & BA_CLRBUF) vfs_bio_clrbuf(bp); @@ -255,7 +256,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t startoffset, int size, nb = newb; *allocblk++ = nb; *lbns_remfree++ = indirs[1].in_lbn; - bp = getblk(vp, indirs[1].in_lbn, fs->fs_bsize, 0, 0, 0); + bp = getblk(vp, indirs[1].in_lbn, fs->fs_bsize, 0, 0, gbflags); bp->b_blkno = fsbtodb(fs, nb); vfs_bio_clrbuf(bp); if (DOINGSOFTDEP(vp)) { @@ -389,7 +390,7 @@ retry: nb = newb; *allocblk++ = nb; *lbns_remfree++ = lbn; - nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); + nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, gbflags); nbp->b_blkno = fsbtodb(fs, nb); if (flags & BA_CLRBUF) vfs_bio_clrbuf(nbp); @@ -418,16 +419,17 @@ retry: if (seqcount && (vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, (int)fs->fs_bsize, NOCRED, - MAXBSIZE, seqcount, &nbp); + MAXBSIZE, seqcount, gbflags, &nbp); } else { - error = bread(vp, lbn, (int)fs->fs_bsize, NOCRED, &nbp); + error = bread_gb(vp, lbn, (int)fs->fs_bsize, NOCRED, + gbflags, &nbp); } if (error) { brelse(nbp); goto fail; } } else { - nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); + nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, gbflags); nbp->b_blkno = fsbtodb(fs, nb); } curthread_pflags_restore(saved_inbdflush); @@ -539,7 +541,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, int saved_inbdflush; static struct timeval lastfail; static int curfail; - int reclaimed; + int gbflags, reclaimed; ip = VTOI(vp); dp = ip->i_din2; @@ -553,6 +555,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, *bpp = NULL; if (lbn < 0) return (EFBIG); + gbflags = (flags & BA_UNMAPPED) != 0 ? GB_UNMAPPED : 0; if (DOINGSOFTDEP(vp)) softdep_prealloc(vp, MNT_WAIT); @@ -603,7 +606,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, panic("ffs_balloc_ufs2: BA_METAONLY for ext block"); nb = dp->di_extb[lbn]; if (nb != 0 && dp->di_extsize >= smalllblktosize(fs, lbn + 1)) { - error = bread(vp, -1 - lbn, fs->fs_bsize, NOCRED, &bp); + error = bread_gb(vp, -1 - lbn, fs->fs_bsize, NOCRED, + gbflags, &bp); if (error) { brelse(bp); return (error); @@ -620,7 +624,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, osize = fragroundup(fs, blkoff(fs, dp->di_extsize)); nsize = fragroundup(fs, size); if (nsize <= osize) { - error = bread(vp, -1 - lbn, osize, NOCRED, &bp); + error = bread_gb(vp, -1 - lbn, osize, NOCRED, + gbflags, &bp); if (error) { brelse(bp); return (error); @@ -653,7 +658,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, nsize, flags, cred, &newb); if (error) return (error); - bp = getblk(vp, -1 - lbn, nsize, 0, 0, 0); + bp = getblk(vp, -1 - lbn, nsize, 0, 0, gbflags); bp->b_blkno = fsbtodb(fs, newb); bp->b_xflags |= BX_ALTDATA; if (flags & BA_CLRBUF) @@ -679,9 +684,9 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, if (osize < fs->fs_bsize && osize > 0) { UFS_LOCK(ump); error = ffs_realloccg(ip, nb, dp->di_db[nb], - ffs_blkpref_ufs2(ip, lastlbn, (int)nb, - &dp->di_db[0]), osize, (int)fs->fs_bsize, - flags, cred, &bp); + ffs_blkpref_ufs2(ip, lastlbn, (int)nb, + &dp->di_db[0]), osize, (int)fs->fs_bsize, + flags, cred, &bp); if (error) return (error); if (DOINGSOFTDEP(vp)) @@ -707,7 +712,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, panic("ffs_balloc_ufs2: BA_METAONLY for direct block"); nb = dp->di_db[lbn]; if (nb != 0 && ip->i_size >= smalllblktosize(fs, lbn + 1)) { - error = bread(vp, lbn, fs->fs_bsize, NOCRED, &bp); + error = bread_gb(vp, lbn, fs->fs_bsize, NOCRED, + gbflags, &bp); if (error) { brelse(bp); return (error); @@ -723,7 +729,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, osize = fragroundup(fs, blkoff(fs, ip->i_size)); nsize = fragroundup(fs, size); if (nsize <= osize) { - error = bread(vp, lbn, osize, NOCRED, &bp); + error = bread_gb(vp, lbn, osize, NOCRED, + gbflags, &bp); if (error) { brelse(bp); return (error); @@ -733,7 +740,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, UFS_LOCK(ump); error = ffs_realloccg(ip, lbn, dp->di_db[lbn], ffs_blkpref_ufs2(ip, lbn, (int)lbn, - &dp->di_db[0]), osize, nsize, flags, + &dp->di_db[0]), osize, nsize, flags, cred, &bp); if (error) return (error); @@ -753,7 +760,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, &dp->di_db[0]), nsize, flags, cred, &newb); if (error) return (error); - bp = getblk(vp, lbn, nsize, 0, 0, 0); + bp = getblk(vp, lbn, nsize, 0, 0, gbflags); bp->b_blkno = fsbtodb(fs, newb); if (flags & BA_CLRBUF) vfs_bio_clrbuf(bp); @@ -797,7 +804,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t startoffset, int size, nb = newb; *allocblk++ = nb; *lbns_remfree++ = indirs[1].in_lbn; - bp = getblk(vp, indirs[1].in_lbn, fs->fs_bsize, 0, 0, 0); + bp = getblk(vp, indirs[1].in_lbn, fs->fs_bsize, 0, 0, + GB_UNMAPPED); bp->b_blkno = fsbtodb(fs, nb); vfs_bio_clrbuf(bp); if (DOINGSOFTDEP(vp)) { @@ -862,7 +870,8 @@ retry: nb = newb; *allocblk++ = nb; *lbns_remfree++ = indirs[i].in_lbn; - nbp = getblk(vp, indirs[i].in_lbn, fs->fs_bsize, 0, 0, 0); + nbp = getblk(vp, indirs[i].in_lbn, fs->fs_bsize, 0, 0, + GB_UNMAPPED); nbp->b_blkno = fsbtodb(fs, nb); vfs_bio_clrbuf(nbp); if (DOINGSOFTDEP(vp)) { @@ -931,7 +940,7 @@ retry: nb = newb; *allocblk++ = nb; *lbns_remfree++ = lbn; - nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); + nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, gbflags); nbp->b_blkno = fsbtodb(fs, nb); if (flags & BA_CLRBUF) vfs_bio_clrbuf(nbp); @@ -966,16 +975,17 @@ retry: if (seqcount && (vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { error = cluster_read(vp, ip->i_size, lbn, (int)fs->fs_bsize, NOCRED, - MAXBSIZE, seqcount, &nbp); + MAXBSIZE, seqcount, gbflags, &nbp); } else { - error = bread(vp, lbn, (int)fs->fs_bsize, NOCRED, &nbp); + error = bread_gb(vp, lbn, (int)fs->fs_bsize, + NOCRED, gbflags, &nbp); } if (error) { brelse(nbp); goto fail; } } else { - nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, 0); + nbp = getblk(vp, lbn, fs->fs_bsize, 0, 0, gbflags); nbp->b_blkno = fsbtodb(fs, nb); } curthread_pflags_restore(saved_inbdflush); diff --git a/sys/ufs/ffs/ffs_rawread.c b/sys/ufs/ffs/ffs_rawread.c index f8e3e00..45cb730 100644 --- a/sys/ufs/ffs/ffs_rawread.c +++ b/sys/ufs/ffs/ffs_rawread.c @@ -240,7 +240,7 @@ ffs_rawread_readahead(struct vnode *vp, bp->b_bcount = bsize - blockoff * DEV_BSIZE; bp->b_bufsize = bp->b_bcount; - if (vmapbuf(bp) < 0) + if (vmapbuf(bp, 1) < 0) return EFAULT; maybe_yield(); @@ -259,7 +259,7 @@ ffs_rawread_readahead(struct vnode *vp, bp->b_bcount = bsize * (1 + bforwards) - blockoff * DEV_BSIZE; bp->b_bufsize = bp->b_bcount; - if (vmapbuf(bp) < 0) + if (vmapbuf(bp, 1) < 0) return EFAULT; BO_STRATEGY(&dp->v_bufobj, bp); diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 0204613..f6ae04c 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1076,7 +1076,7 @@ ffs_mountfs(devvp, mp, td) */ MNT_ILOCK(mp); mp->mnt_kern_flag |= MNTK_LOOKUP_SHARED | MNTK_EXTENDED_SHARED | - MNTK_NO_IOPF; + MNTK_NO_IOPF | MNTK_UNMAPPED_BUFS; MNT_IUNLOCK(mp); #ifdef UFS_EXTATTR #ifdef UFS_EXTATTR_AUTOSTART @@ -2091,6 +2091,7 @@ ffs_bufwrite(struct buf *bp) * set b_lblkno and BKGRDMARKER before calling bgetvp() * to avoid confusing the splay tree and gbincore(). */ + KASSERT((bp->b_flags & B_UNMAPPED) == 0, ("Unmapped cg")); memcpy(newbp->b_data, bp->b_data, bp->b_bufsize); newbp->b_lblkno = bp->b_lblkno; newbp->b_xflags |= BX_BKGRDMARKER; @@ -2157,6 +2158,7 @@ ffs_geom_strategy(struct bufobj *bo, struct buf *bp) bp->b_flags &= ~(B_VALIDSUSPWRT | B_NOCOPY); if ((vp->v_vflag & VV_COPYONWRITE) && nocopy == 0 && vp->v_rdev->si_snapdata != NULL) { + bufallowrecurse(bp); if ((bp->b_flags & B_CLUSTER) != 0) { runningbufwakeup(bp); TAILQ_FOREACH(tbp, &bp->b_cluster.cluster_head, @@ -2164,6 +2166,7 @@ ffs_geom_strategy(struct bufobj *bo, struct buf *bp) error = ffs_copyonwrite(vp, tbp); if (error != 0 && error != EOPNOTSUPP) { + bufdisablerecurse(bp); bp->b_error = error; bp->b_ioflags |= BIO_ERROR; bufdone(bp); @@ -2176,12 +2179,14 @@ ffs_geom_strategy(struct bufobj *bo, struct buf *bp) } else { error = ffs_copyonwrite(vp, bp); if (error != 0 && error != EOPNOTSUPP) { + bufdisablerecurse(bp); bp->b_error = error; bp->b_ioflags |= BIO_ERROR; bufdone(bp); return; } } + bufdisablerecurse(bp); } #ifdef SOFTUPDATES if ((bp->b_flags & B_CLUSTER) != 0) { diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 5c99d5b..ef6194c 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -508,7 +508,8 @@ ffs_read(ap) /* * Don't do readahead if this is the end of the file. */ - error = bread(vp, lbn, size, NOCRED, &bp); + error = bread_gb(vp, lbn, size, NOCRED, + GB_UNMAPPED, &bp); } else if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERR) == 0) { /* * Otherwise if we are allowed to cluster, @@ -518,7 +519,8 @@ ffs_read(ap) * doing sequential access. */ error = cluster_read(vp, ip->i_size, lbn, - size, NOCRED, blkoffset + uio->uio_resid, seqcount, &bp); + size, NOCRED, blkoffset + uio->uio_resid, + seqcount, GB_UNMAPPED, &bp); } else if (seqcount > 1) { /* * If we are NOT allowed to cluster, then @@ -529,15 +531,16 @@ ffs_read(ap) * the 6th argument. */ int nextsize = blksize(fs, ip, nextlbn); - error = breadn(vp, lbn, - size, &nextlbn, &nextsize, 1, NOCRED, &bp); + error = breadn_flags(vp, lbn, size, &nextlbn, + &nextsize, 1, NOCRED, GB_UNMAPPED, &bp); } else { /* * Failing all of the above, just read what the * user asked for. Interestingly, the same as * the first option above. */ - error = bread(vp, lbn, size, NOCRED, &bp); + error = bread_gb(vp, lbn, size, NOCRED, + GB_UNMAPPED, &bp); } if (error) { brelse(bp); @@ -568,8 +571,13 @@ ffs_read(ap) xfersize = size; } - error = vn_io_fault_uiomove((char *)bp->b_data + blkoffset, - (int)xfersize, uio); + if ((bp->b_flags & B_UNMAPPED) == 0) { + error = vn_io_fault_uiomove((char *)bp->b_data + + blkoffset, (int)xfersize, uio); + } else { + error = vn_io_fault_pgmove(bp->b_pages, blkoffset, + (int)xfersize, uio); + } if (error) break; @@ -700,6 +708,7 @@ ffs_write(ap) flags = seqcount << BA_SEQSHIFT; if ((ioflag & IO_SYNC) && !DOINGASYNC(vp)) flags |= IO_SYNC; + flags |= BA_UNMAPPED; for (error = 0; uio->uio_resid > 0;) { lbn = lblkno(fs, uio->uio_offset); @@ -739,8 +748,13 @@ ffs_write(ap) if (size < xfersize) xfersize = size; - error = vn_io_fault_uiomove((char *)bp->b_data + blkoffset, - (int)xfersize, uio); + if ((bp->b_flags & B_UNMAPPED) == 0) { + error = vn_io_fault_uiomove((char *)bp->b_data + + blkoffset, (int)xfersize, uio); + } else { + error = vn_io_fault_pgmove(bp->b_pages, blkoffset, + (int)xfersize, uio); + } /* * If the buffer is not already filled and we encounter an * error while trying to fill it, we have to clear out any @@ -783,7 +797,8 @@ ffs_write(ap) } else if (xfersize + blkoffset == fs->fs_bsize) { if ((vp->v_mount->mnt_flag & MNT_NOCLUSTERW) == 0) { bp->b_flags |= B_CLUSTEROK; - cluster_write(vp, bp, ip->i_size, seqcount); + cluster_write(vp, bp, ip->i_size, seqcount, + GB_UNMAPPED); } else { bawrite(bp); } diff --git a/sys/ufs/ufs/ufs_extern.h b/sys/ufs/ufs/ufs_extern.h index c590748..31a2ba8 100644 --- a/sys/ufs/ufs/ufs_extern.h +++ b/sys/ufs/ufs/ufs_extern.h @@ -121,6 +121,7 @@ void softdep_revert_rmdir(struct inode *, struct inode *); */ #define BA_CLRBUF 0x00010000 /* Clear invalid areas of buffer. */ #define BA_METAONLY 0x00020000 /* Return indirect block buffer. */ +#define BA_UNMAPPED 0x00040000 /* Do not mmap resulted buffer. */ #define BA_SEQMASK 0x7F000000 /* Bits holding seq heuristic. */ #define BA_SEQSHIFT 24 #define BA_SEQMAX 0x7F diff --git a/sys/vm/pmap.h b/sys/vm/pmap.h index d06c22b..c64a549 100644 --- a/sys/vm/pmap.h +++ b/sys/vm/pmap.h @@ -108,6 +108,8 @@ void pmap_clear_modify(vm_page_t m); void pmap_clear_reference(vm_page_t m); void pmap_copy(pmap_t, pmap_t, vm_offset_t, vm_size_t, vm_offset_t); void pmap_copy_page(vm_page_t, vm_page_t); +void pmap_copy_pages(vm_page_t ma[], vm_offset_t a_offset, + vm_page_t mb[], vm_offset_t b_offset, int xfersize); void pmap_enter(pmap_t, vm_offset_t, vm_prot_t, vm_page_t, vm_prot_t, boolean_t); void pmap_enter_object(pmap_t pmap, vm_offset_t start, diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 44bff25..10a2c28 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -758,6 +758,16 @@ swp_pager_strategy(struct buf *bp) TAILQ_FOREACH(sp, &swtailq, sw_list) { if (bp->b_blkno >= sp->sw_first && bp->b_blkno < sp->sw_end) { mtx_unlock(&sw_dev_mtx); + if ((sp->sw_flags & SW_UNMAPPED) != 0) { + bp->b_kvaalloc = bp->b_data; + bp->b_data = unmapped_buf; + bp->b_kvabase = unmapped_buf; + bp->b_offset = 0; + bp->b_flags |= B_UNMAPPED; + } else { + pmap_qenter((vm_offset_t)bp->b_data, + &bp->b_pages[0], bp->b_bcount / PAGE_SIZE); + } sp->sw_strategy(bp, sp); return; } @@ -1155,11 +1165,6 @@ swap_pager_getpages(vm_object_t object, vm_page_t *m, int count, int reqpage) bp = getpbuf(&nsw_rcount); bp->b_flags |= B_PAGING; - /* - * map our page(s) into kva for input - */ - pmap_qenter((vm_offset_t)bp->b_data, m + i, j - i); - bp->b_iocmd = BIO_READ; bp->b_iodone = swp_pager_async_iodone; bp->b_rcred = crhold(thread0.td_ucred); @@ -1371,8 +1376,6 @@ swap_pager_putpages(vm_object_t object, vm_page_t *m, int count, bp->b_flags |= B_PAGING; bp->b_iocmd = BIO_WRITE; - pmap_qenter((vm_offset_t)bp->b_data, &m[i], n); - bp->b_rcred = crhold(thread0.td_ucred); bp->b_wcred = crhold(thread0.td_ucred); bp->b_bcount = PAGE_SIZE * n; @@ -1484,7 +1487,12 @@ swp_pager_async_iodone(struct buf *bp) /* * remove the mapping for kernel virtual */ - pmap_qremove((vm_offset_t)bp->b_data, bp->b_npages); + if ((bp->b_flags & B_UNMAPPED) != 0) { + bp->b_data = bp->b_kvaalloc; + bp->b_kvabase = bp->b_kvaalloc; + bp->b_flags &= ~B_UNMAPPED; + } else + pmap_qremove((vm_offset_t)bp->b_data, bp->b_npages); if (bp->b_npages) { object = bp->b_pages[0]->object; @@ -2144,7 +2152,8 @@ swapon_check_swzone(unsigned long npages) } static void -swaponsomething(struct vnode *vp, void *id, u_long nblks, sw_strategy_t *strategy, sw_close_t *close, dev_t dev) +swaponsomething(struct vnode *vp, void *id, u_long nblks, + sw_strategy_t *strategy, sw_close_t *close, dev_t dev, int flags) { struct swdevt *sp, *tsp; swblk_t dvbase; @@ -2180,6 +2189,7 @@ swaponsomething(struct vnode *vp, void *id, u_long nblks, sw_strategy_t *strateg sp->sw_used = 0; sp->sw_strategy = strategy; sp->sw_close = close; + sp->sw_flags = flags; sp->sw_blist = blist_create(nblks, M_WAITOK); /* @@ -2537,10 +2547,19 @@ swapgeom_strategy(struct buf *bp, struct swdevt *sp) bio->bio_caller2 = bp; bio->bio_cmd = bp->b_iocmd; - bio->bio_data = bp->b_data; bio->bio_offset = (bp->b_blkno - sp->sw_first) * PAGE_SIZE; bio->bio_length = bp->b_bcount; bio->bio_done = swapgeom_done; + if ((bp->b_flags & B_UNMAPPED) != 0) { + bio->bio_ma = bp->b_pages; + bio->bio_data = unmapped_buf; + bio->bio_ma_offset = (vm_offset_t)bp->b_offset & PAGE_MASK; + bio->bio_ma_n = bp->b_npages; + bio->bio_flags |= BIO_UNMAPPED; + } else { + bio->bio_data = bp->b_data; + bio->bio_ma = NULL; + } g_io_request(bio, cp); return; } @@ -2630,9 +2649,9 @@ swapongeom_ev(void *arg, int flags) } nblks = pp->mediasize / DEV_BSIZE; swaponsomething(swh->vp, cp, nblks, swapgeom_strategy, - swapgeom_close, dev2udev(swh->dev)); + swapgeom_close, dev2udev(swh->dev), + (pp->flags & G_PF_ACCEPT_UNMAPPED) != 0 ? SW_UNMAPPED : 0); swh->error = 0; - return; } static int @@ -2721,6 +2740,6 @@ swaponvp(struct thread *td, struct vnode *vp, u_long nblks) return (error); swaponsomething(vp, vp, nblks, swapdev_strategy, swapdev_close, - NODEV); + NODEV, 0); return (0); } diff --git a/sys/vm/swap_pager.h b/sys/vm/swap_pager.h index 5c716d9..79f8767 100644 --- a/sys/vm/swap_pager.h +++ b/sys/vm/swap_pager.h @@ -68,6 +68,7 @@ struct swdevt { sw_close_t *sw_close; }; +#define SW_UNMAPPED 0x01 #define SW_CLOSING 0x04 #ifdef _KERNEL diff --git a/sys/vm/vm.h b/sys/vm/vm.h index 132c10e..106c510 100644 --- a/sys/vm/vm.h +++ b/sys/vm/vm.h @@ -136,6 +136,8 @@ struct kva_md_info { vm_offset_t clean_eva; vm_offset_t pager_sva; vm_offset_t pager_eva; + vm_offset_t bio_transient_sva; + vm_offset_t bio_transient_eva; }; extern struct kva_md_info kmi; diff --git a/sys/vm/vm_init.c b/sys/vm/vm_init.c index c507691..2eb1070 100644 --- a/sys/vm/vm_init.c +++ b/sys/vm/vm_init.c @@ -186,10 +186,15 @@ again: panic("startup: table size inconsistency"); clean_map = kmem_suballoc(kernel_map, &kmi->clean_sva, &kmi->clean_eva, - (long)nbuf * BKVASIZE + (long)nswbuf * MAXPHYS, TRUE); + (long)nbuf * BKVASIZE + (long)nswbuf * MAXPHYS + + (long)bio_transient_maxcnt * MAXPHYS, TRUE); buffer_map = kmem_suballoc(clean_map, &kmi->buffer_sva, &kmi->buffer_eva, (long)nbuf * BKVASIZE, FALSE); buffer_map->system_map = 1; + bio_transient_map = kmem_suballoc(clean_map, &kmi->bio_transient_sva, + &kmi->bio_transient_eva, (long)bio_transient_maxcnt * MAXPHYS, + FALSE); + bio_transient_map->system_map = 1; pager_map = kmem_suballoc(clean_map, &kmi->pager_sva, &kmi->pager_eva, (long)nswbuf * MAXPHYS, FALSE); pager_map->system_map = 1; diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c index ad9aa0d..efd2bf2 100644 --- a/sys/vm/vm_kern.c +++ b/sys/vm/vm_kern.c @@ -85,11 +85,12 @@ __FBSDID("$FreeBSD$"); #include #include -vm_map_t kernel_map=0; -vm_map_t kmem_map=0; -vm_map_t exec_map=0; +vm_map_t kernel_map; +vm_map_t kmem_map; +vm_map_t exec_map; vm_map_t pipe_map; -vm_map_t buffer_map=0; +vm_map_t buffer_map; +vm_map_t bio_transient_map; const void *zero_region; CTASSERT((ZERO_REGION_SIZE & PAGE_MASK) == 0); diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index a6d78f4..86ca7b4 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -697,6 +697,7 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage) int runpg; int runend; struct buf *bp; + struct mount *mp; int count; int error; @@ -899,12 +900,23 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage) } bp = getpbuf(&vnode_pbuf_freecnt); - kva = (vm_offset_t) bp->b_data; + kva = (vm_offset_t)bp->b_data; /* - * and map the pages to be read into the kva + * and map the pages to be read into the kva, if the filesystem + * requires mapped buffers. */ - pmap_qenter(kva, m, count); + mp = vp->v_mount; + if (mp != NULL && (mp->mnt_kern_flag & MNTK_UNMAPPED_BUFS) != 0) { + bp->b_data = unmapped_buf; + bp->b_kvabase = unmapped_buf; + bp->b_offset = 0; + bp->b_flags |= B_UNMAPPED; + bp->b_npages = count; + for (i = 0; i < count; i++) + bp->b_pages[i] = m[i]; + } else + pmap_qenter(kva, m, count); /* build a minimal buffer header */ bp->b_iocmd = BIO_READ; @@ -933,11 +945,22 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage) if ((bp->b_ioflags & BIO_ERROR) != 0) error = EIO; - if (!error) { - if (size != count * PAGE_SIZE) - bzero((caddr_t) kva + size, PAGE_SIZE * count - size); + if (error != 0 && size != count * PAGE_SIZE) { + if ((bp->b_flags & B_UNMAPPED) != 0) { + bp->b_flags &= ~B_UNMAPPED; + pmap_qenter(kva, m, count); + } + bzero((caddr_t)kva + size, PAGE_SIZE * count - size); + } + if ((bp->b_flags & B_UNMAPPED) == 0) + pmap_qremove(kva, count); + if (mp != NULL && (mp->mnt_kern_flag & MNTK_UNMAPPED_BUFS) != 0) { + bp->b_data = (caddr_t)kva; + bp->b_kvabase = (caddr_t)kva; + bp->b_flags &= ~B_UNMAPPED; + for (i = 0; i < count; i++) + bp->b_pages[i] = NULL; } - pmap_qremove(kva, count); /* * free the buffer header back to the swap buffer pool -- Test scenario: quota8.sh