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

From: Mathieu Desnoyers
Date: Thu Apr 16 2009 - 20:13:43 EST


* Jeremy Fitzhardinge (jeremy@xxxxxxxx) 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/