From owner-cvs-all Tue Oct 16 10:57:40 2001 Delivered-To: cvs-all@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id 2BA2237B405; Tue, 16 Oct 2001 10:57:35 -0700 (PDT) Received: by flood.ping.uio.no (Postfix, from userid 2602) id 3CD0914C40; Tue, 16 Oct 2001 19:57:33 +0200 (CEST) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: John Baldwin Cc: cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, Bruce Evans , Matthew Dillon Subject: Re: cvs commit: src/sys/vm vnode_pager.c References: From: Dag-Erling Smorgrav Date: 16 Oct 2001 19:57:32 +0200 In-Reply-To: Message-ID: Lines: 39 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 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 John Baldwin writes: > How about turning off INVARIANTS and WITNESS and seeing if it does > better? Witness did become more expensive when I made it work for > reader/writer locks on May 4 as it has to manage a list of lock > instances instead of embedding the list inside the lock object > itself. 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: [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] [...] 1168605 _mtx_unlock_spin_flags [2] 0.00 0.00 16/1046526 mtx_destroy [20] 0.00 0.00 56/1046526 _sx_xunlock [223] 0.00 0.00 139/1046526 _sx_sunlock [152] 14.59 0.02 465448/1046526 _mtx_unlock_flags [8] [37] 0.6 0.20 0.00 1634264 witness_unlock [37] 68406 witness_lock_list_free [267] [...] 0.01 0.00 465448/1720935 _mtx_unlock_flags [8] 0.03 0.00 1168605/1720935 _mtx_unlock_spin_flags [2] [86] 0.1 0.05 0.00 1720935 _mtx_assert [86] 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. DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message