From owner-svn-src-all@FreeBSD.ORG Thu Jan 15 22:47:07 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFDCF106564A; Thu, 15 Jan 2009 22:47:07 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id B11DC8FC1C; Thu, 15 Jan 2009 22:47:07 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (pool-98-109-39-197.nwrknj.fios.verizon.net [98.109.39.197]) by cyrus.watson.org (Postfix) with ESMTPSA id 3F36546B2D; Thu, 15 Jan 2009 17:47:07 -0500 (EST) Received: from localhost (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.14.3/8.14.3) with ESMTP id n0FMkttG004922; Thu, 15 Jan 2009 17:47:01 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: src-committers@freebsd.org Date: Thu, 15 Jan 2009 15:18:33 -0500 User-Agent: KMail/1.9.7 References: <200901131644.n0DGiI9L009063@svn.freebsd.org> In-Reply-To: <200901131644.n0DGiI9L009063@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200901151518.34220.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Thu, 15 Jan 2009 17:47:01 -0500 (EST) X-Virus-Scanned: ClamAV 0.94.2/8870/Thu Jan 15 15:57:00 2009 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r187156 - head/tools/sched X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jan 2009 22:47:08 -0000 On Tuesday 13 January 2009 11:44:18 am John Baldwin wrote: > Author: jhb > Date: Tue Jan 13 16:44:18 2009 > New Revision: 187156 > URL: http://svn.freebsd.org/changeset/base/187156 > > Log: > Add support for two new event source types: > - Callwheels traced via KTR_CALLOUT. Each CPU is assigned a callwheel > source. The events on this source are the execution of individual callout > routines. Each routine shows up as a green rectangle while it is executed > and the event details include the function pointer and argument. > - Locks traced via KTR_LOCK. Currently, each lock name is assigned an event > source (since the existing KTR_LOCK traces only include lock names and > not pointers). This does mean that if multiple locks of the same name are > manipulated, the source line for that name may be confusing. However, for > many cases this can be useful. Locks are blue when they are held and > purple when contested. The contention support is a bit weak due to > limitations in the rw_rlock() and mtx_lock_spin() logging messages > currently. I also have not added support for contention on lockmgr, > sx, or rmlocks yet. What is there now can be profitably used to examine > activity on Giant however. > - Expand the width of the event source names column a bit to allow for some > of the longer names of these new source types. For some examples, check out www.freebsd.org/~jhb/sysctl_before.png and sysctl_after.png. Those are screenshots of 'sysctl -a' showing lock activity. In particular, in 'after' I removed (via #if 0) the debug.hashstat sysctls (from sys/kern/vfs_cache.c). In the 'before' graph one of those two sysctls (the raw dump of the hash table depths) took 7 milliseconds to run on my test machine (2 x 3.4 GHz Intel dual-core) holding Giant the entire time which caused softclock to block on Giant for a couple of milliseconds. (These traces were performed on 7-stable.) Once I get more caught up I plan on sticking those sysctl's under some sort of #ifdef that isn't on by default. -- John Baldwin