Using Dtrace for Performance Evaluation

Artem Belevich art at freebsd.org
Thu May 5 23:43:54 UTC 2011


On Thu, May 5, 2011 at 4:33 PM, David Christensen <davidch at broadcom.com> wrote:
>> > 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.  This effectively prevents me from
>> > calculating timestamps on "fbt:if_bxe::return" probes.  Why 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-optimizations-in-gcc

--Artem


More information about the freebsd-current mailing list