From owner-cvs-all Tue Oct 16 9:29:57 2001 Delivered-To: cvs-all@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id 723BC37B40A; Tue, 16 Oct 2001 09:29:47 -0700 (PDT) Received: (from dillon@localhost) by apollo.backplane.com (8.11.6/8.9.1) id f9GGTju31481; Tue, 16 Oct 2001 09:29:45 -0700 (PDT) (envelope-from dillon) Date: Tue, 16 Oct 2001 09:29:45 -0700 (PDT) From: Matthew Dillon Message-Id: <200110161629.f9GGTju31481@apollo.backplane.com> To: Dag-Erling Smorgrav Cc: Bruce Evans , , Subject: Re: cvs commit: src/sys/vm vnode_pager.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG :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 [1] : 32.31 0.03 1168605 _mtx_unlock_spin_flags [2] : :[2] 88.0 32.31 0.03 1168605 _mtx_unlock_spin_flags [2] : 0.03 0.00 1168605/1720935 _mtx_assert [86] : 1168605 witness_unlock [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 [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 [49] : 0.00 0.00 18/219311 vop_defaultop [68] : 0.00 0.00 6/219311 ufs_vnoperatefifo [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