From owner-freebsd-current@FreeBSD.ORG Thu May 5 23:54:06 2011 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 DAB5C106564A for ; Thu, 5 May 2011 23:54:06 +0000 (UTC) (envelope-from artemb@gmail.com) Received: from mail-qy0-f182.google.com (mail-qy0-f182.google.com [209.85.216.182]) by mx1.freebsd.org (Postfix) with ESMTP id 937808FC12 for ; Thu, 5 May 2011 23:54:06 +0000 (UTC) Received: by qyk27 with SMTP id 27so2537868qyk.13 for ; Thu, 05 May 2011 16:54:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=Nk29TOjDUWzMeceaCDxOIpuNiFlO5kxT88jbYnlBL78=; b=LHtWZykYcXley6qr3ajysGwMl3jjMXRjWppf7DpINmhjbwU9IPW5/TUs35J4upVwJp zz/i4EsH7RH2bkkhksj+tdO70yODfUhZcx5vQp0fBZfj8wnmTKa2Tg+EN9B0uDgGcpBH j3kvo1VBkdPgGLMwHXWsJxveU0Pv+HQQmuOuA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=x8BrMzcfmY+30CJsKKAmlMBMm4krHPmn+lZjB/DSuTC970IRAeY2gT0XtZzfXutTdP dWbo16YynQwZ0vtZNdU1rJj86pmyp6WFmgOrjjLoMP9w4v+VRvuVhSGorZY3pIRCuA5P 8x493sNFc9KswDhRDRFeYKwQtJbSnCYynjq5o= MIME-Version: 1.0 Received: by 10.224.213.133 with SMTP id gw5mr3001981qab.187.1304637892289; Thu, 05 May 2011 16:24:52 -0700 (PDT) Sender: artemb@gmail.com Received: by 10.229.95.140 with HTTP; Thu, 5 May 2011 16:24:52 -0700 (PDT) In-Reply-To: <5D267A3F22FD854F8F48B3D2B523819360D799A42B@IRVEXCHCCR01.corp.ad.broadcom.com> References: <5D267A3F22FD854F8F48B3D2B523819360D799A42B@IRVEXCHCCR01.corp.ad.broadcom.com> Date: Thu, 5 May 2011 16:24:52 -0700 X-Google-Sender-Auth: VpjncUVOdAOphGF7M90yHvFeo60 Message-ID: From: Artem Belevich To: David Christensen Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "freebsd-current@freebsd.org" Subject: Re: Using Dtrace for Performance Evaluation 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: Thu, 05 May 2011 23:54:06 -0000 On Thu, May 5, 2011 at 1:08 PM, David Christensen wr= ote: > I was looking at using dtrace to help characterize performance > for the new bxe(4) driver but I'm having problems with the very > simple task of capturing time spent in a function. =A0The D script > I'm using looks like the following: > > #pragma D option quiet > > fbt:if_bxe::entry > { > =A0 =A0 =A0 =A0self->in =3D timestamp; > } > > fbt:if_bxe::return > { > > =A0 =A0 =A0 =A0@callouts[((struct callout *)arg0)->c_func] =3D sum(timest= amp - > =A0 =A0 =A0 =A0 =A0 =A0self->in); > } > > tick-10sec > { > =A0 =A0 =A0 =A0printa("%40a %10@d\n", @callouts); > =A0 =A0 =A0 =A0clear(@callouts); > =A0 =A0 =A0 =A0printf("\n"); > } > > BEGIN > { > =A0 =A0 =A0 =A0printf("%40s | %s\n", "function", "nanoseconds per second"= ); > } > > After building dtrace into the kernel and loading the dtraceall > kernel module, when I load my bxe kernel module and run "dtrace -l" > to list all supported probes I notice that many functions have an > entry probe but no exit probe. =A0This effectively prevents me from > calculating timestamps on "fbt:if_bxe::return" probes. =A0Why am I > seeing this behavior? Tail call optimization could do that to you: http://en.wikipedia.org/wiki/Tail_call --Artem > > Dave > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org= " >