Re: [PATCH 2/8] tracing: create automated trace defines

Mathieu Desnoyers
2009-04-17T00:13:42Z

* Jeremy Fitzhardinge (jeremy@goop.org) wrote:
> Mathieu Desnoyers wrote:
>> The other point I dislike about the out-of-line approach is that the
>> tracer will suffer from a pointless supplementary function call at each
>> event. Given how slow function calls are, at least on x86, I'd prefer
>> leaving the handler call chain inline, unless there is a very strong
>> reason not to do so.
>>
>
> Are they? They're generally considered to be "free", because the call
> and return are predicted 100% accurately.
>

Adding a simple function call within the tracer fast path, in LTTng, has
a very measurable performance impact on the tbench workload. This is why
I don't use any function call-based trace clocks in LTTng, but rather my
own inline trace clock.

Mathieu

>> I'll come up with a patch that leaves the tracepoint inline, but fixes
>> the header dependency.
>>
> OK.
>
> J
>

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68