Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 May 2011 16:43:53 -0700
From:      Artem Belevich <art@freebsd.org>
To:        David Christensen <davidch@broadcom.com>
Cc:        "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>
Subject:   Re: Using Dtrace for Performance Evaluation
Message-ID:  <BANLkTi=BLC=0udM9bX5zzT=bK1t%2BL9sm5Q@mail.gmail.com>
In-Reply-To: <5D267A3F22FD854F8F48B3D2B523819360D799A517@IRVEXCHCCR01.corp.ad.broadcom.com>
References:  <5D267A3F22FD854F8F48B3D2B523819360D799A42B@IRVEXCHCCR01.corp.ad.broadcom.com> <BANLkTin0HxinK9e5w1VDsrse_L1xSEEW5g@mail.gmail.com> <5D267A3F22FD854F8F48B3D2B523819360D799A517@IRVEXCHCCR01.corp.ad.broadcom.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, May 5, 2011 at 4:33 PM, David Christensen <davidch@broadcom.com> wr=
ote:
>> > 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
>
> How to disable tail call optimization when building my driver?

Google is your friend:

Either compile with -O0/-O1, or use -fno-optimize-sibling-calls.
http://stackoverflow.com/questions/3679435/how-do-i-disable-tailcall-optimi=
zations-in-gcc

--Artem



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BANLkTi=BLC=0udM9bX5zzT=bK1t%2BL9sm5Q>