Date: Tue, 16 Oct 2001 09:29:45 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Dag-Erling Smorgrav <des@ofug.org> Cc: Bruce Evans <bde@zeta.org.au>, <cvs-committers@FreeBSD.ORG>, <cvs-all@FreeBSD.ORG> Subject: Re: cvs commit: src/sys/vm vnode_pager.c Message-ID: <200110161629.f9GGTju31481@apollo.backplane.com>
next in thread | raw e-mail | index | archive | help
:I did 'kgmon -rb ; sync ; sync ; sync ; kgmon -hpr'. The results are
:attached.
:
:BTW, it should be possible to make profiling a normal kernel option
:(with a little help from 'makeoptions' like we do for debugging).
:It'd take a few changes to conf/{files,options} and the Makefile
:skeletons, but it would allow us to remove quite a bit of special-
:case code from config(8).
:
:DES
:--
:Dag-Erling Smorgrav - des@ofug.org
Ugh. This is -current. All bets are off.
In anycase, this profile output appears to indicate that your
problem is not quota-related, but instead mutex related.
ffs_sync() in -current is doing a lot of mutex operations
in the loop. If you have various -current mutex debugging
options turned on, even the default ones I think, this could
be responsible for the latency you are experiencing. Each
scan loop is doing four mutex ops.
-Matt
:[1] 89.5 32.81 0.05 1046526+4696024 <cycle 1 as a whole> [1]
: 32.31 0.03 1168605 _mtx_unlock_spin_flags <cycle 1> [2]
:
:[2] 88.0 32.31 0.03 1168605 _mtx_unlock_spin_flags <cycle 1> [2]
: 0.03 0.00 1168605/1720935 _mtx_assert [86]
: 1168605 witness_unlock <cycle 1> [37]
:[5] 79.3 0.00 29.14 3082 syscall [5]
: 0.00 26.60 3/3 sync [7]
:
:-----------------------------------------------
:
: 0.38 25.49 15/16 sync [7]
:[6] 75.1 0.41 27.19 16 ffs_sync [6]
: 0.09 13.52 429901/465440 _mtx_unlock_flags [8]
: 0.08 13.50 429904/465456 _mtx_lock_flags [9]
:
:-----------------------------------------------
:
: 0.00 26.60 3/3 syscall [5]
:[7] 72.4 0.00 26.60 3 sync [7]
: 0.38 25.49 15/16 ffs_sync [6]
:
:-----------------------------------------------
:[15] 4.8 0.00 1.76 sched_sync [15]
: 0.00 1.75 1/1 sync_fsync [16]
:-----------------------------------------------
:
: 0.00 1.75 1/1 sched_sync [15]
:[16] 4.8 0.00 1.75 1 sync_fsync [16]
: 0.03 1.70 1/16 ffs_sync [6]
: 0.01 0.02 1/25 vfs_msync [17]
:
:-----------------------------------------------
:
: 0.01 0.02 1/25 sync_fsync [16]
: 0.17 0.55 24/25 sync [7]
:[17] 2.0 0.18 0.57 25 vfs_msync [17]
: 0.13 0.44 214914/219311 ufs_vnoperate <cycle 2> [39]
: 0.00 0.00 25/465440 _mtx_unlock_flags [8]
: 0.00 0.00 25/465456 _mtx_lock_flags [9]
: 0.00 0.00 141/219311 spec_vnoperate <cycle 2> [49]
: 0.00 0.00 18/219311 vop_defaultop <cycle 2> [68]
: 0.00 0.00 6/219311 ufs_vnoperatefifo <cycle 2> [340]
: 0.00 0.00 25/1720935 _mtx_assert [86]
: 0.00 0.00 25/26 vop_eopnotsupp [677]
:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110161629.f9GGTju31481>
