Re: Using Dtrace for Performance Evaluation

From: Artem Belevich <art_at_freebsd.org>
Date: Thu, 5 May 2011 16:43:53 -0700
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
Received on Thu May 05 2011 - 21:43:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:13 UTC