From owner-freebsd-current@FreeBSD.ORG Tue Jul 20 01:03:25 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E9CC1065677 for ; Tue, 20 Jul 2010 01:03:25 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from mail2.fluidhosting.com (mx21.fluidhosting.com [204.14.89.4]) by mx1.freebsd.org (Postfix) with ESMTP id 122E48FC1B for ; Tue, 20 Jul 2010 01:03:24 +0000 (UTC) Received: (qmail 20955 invoked by uid 399); 20 Jul 2010 01:03:24 -0000 Received: from localhost (HELO laptop.dougb.net) (dougb@dougbarton.us@127.0.0.1) by localhost with ESMTPAM; 20 Jul 2010 01:03:24 -0000 X-Originating-IP: 127.0.0.1 X-Sender: dougb@dougbarton.us Date: Mon, 19 Jul 2010 18:03:21 -0700 (PDT) From: Doug Barton To: Dan Nelson In-Reply-To: <20100718202338.GI5485@dan.emsphone.com> Message-ID: References: <20100717192128.GM2381@deviant.kiev.zoral.com.ua> <20100718103003.GO2381@deviant.kiev.zoral.com.ua> <4C43541C.3060101@FreeBSD.org> <20100718194109.GU2381@deviant.kiev.zoral.com.ua> <4C435CBE.50500@FreeBSD.org> <20100718202338.GI5485@dan.emsphone.com> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-message-flag: Outlook -- Not just for spreading viruses anymore! OpenPGP: id=1A1ABC84 Organization: http://SupersetSolutions.com/ MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Kostik Belousov , freebsd-current@freebsd.org, Rui Paulo Subject: Re: Why is intr taking up so much cpu? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Jul 2010 01:03:25 -0000 I added options KDTRACE_HOOKS to my kernel config, built a new kernel, and rebooted. I decided to try your script before things went sideways so I'd have an idea of what to expect, and it didn't work: dtrace: failed to initialize dtrace: DTrace device not available on system Is there something else I need to do to enable it? Doug On Sun, 18 Jul 2010, Dan Nelson wrote: > You can also use dtrace to get a count of callouts and their time spent. > Run this for a few seconds then hit ^C: > > #! /usr/sbin/dtrace -s > /* #pragma D option quiet */ > > callout_execute:::callout_start > { > this->start = timestamp; > } > > callout_execute:::callout_end > { > this->end = timestamp; > /* printf("%a %d\n",args[0]->c_func, this->end - this->start); */ > @times[args[0]->c_func] = quantize(this->end - this->start); > /* @times[args[0]->c_func] = lquantize(this->end - this->start,0,300000,10000); */ > @counts[args[0]->c_func] = count(); > } > > END > { > printa("%a %@u\n",@times); > printa("%a %@u\n",@counts); > }