Date: Wed, 17 Oct 2001 16:55:31 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Dag-Erling Smorgrav <des@ofug.org> Cc: John Baldwin <jhb@FreeBSD.org>, <cvs-all@FreeBSD.org>, <cvs-committers@FreeBSD.org>, Matthew Dillon <dillon@apollo.backplane.com> Subject: Re: cvs commit: src/sys/vm vnode_pager.c Message-ID: <20011017164428.R15050-100000@delplex.bde.org> In-Reply-To: <xzpzo6rxyb7.fsf@flood.ping.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On 16 Oct 2001, Dag-Erling Smorgrav wrote: > May 4 is about a month and a half before I started seeing these > problems, and the profiling data show that witness code and assertions > account for less than 4% of CPU time. Here are some of the pertinent > excerpts from the call graph: > ... > Out of 32.31 seconds spent in _mtx_unlock_spin_flags() and its > descendents, only about 0.25 seconds were spent in witness and > assertion code. This is quite likely to be just an artifact of the mtx interfaces keeping interrupts disabled for too long. _mtx_unlock_spin_flags() tends to get charged with an interrupt tick more than most places when it enables interrupts. You should use high-resolution profiling like I hinted. I wouldn't trust any of the times shown by low resolution profiling without running the profile for about 1000 times as long as a high resolution profile, but not so long that any single counter overflows (counters overflow after a whole 65536 ticks), and not if there is significant interrupt activity or interrupt masking (mutex locking apparently does enough interrupt masking to often corrupt the counts, at least if INVARIANTS and WITNESS are enabled). Only the call graph and call counts can be trusted. Bruce 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?20011017164428.R15050-100000>