From owner-cvs-all Tue Oct 16 23:56:39 2001 Delivered-To: cvs-all@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 2467E37B40F; Tue, 16 Oct 2001 23:56:30 -0700 (PDT) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id QAA09882; Wed, 17 Oct 2001 16:56:21 +1000 Date: Wed, 17 Oct 2001 16:55:31 +1000 (EST) From: Bruce Evans X-X-Sender: To: Dag-Erling Smorgrav Cc: John Baldwin , , , Matthew Dillon Subject: Re: cvs commit: src/sys/vm vnode_pager.c In-Reply-To: Message-ID: <20011017164428.R15050-100000@delplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 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