[ltt-dev] LTTng-UST vs SystemTap userspace tracing benchmarks
roland at redhat.com
Wed Feb 16 13:19:43 EST 2011
> The sdt.h stuff has been rewritten at least once since then. I'd
> suggest trying the latest. I think it probably won't matter for the
> flight recorder mode, but it may matter for measuring overhead.
The v3 and v2 versions have the same runtime/code overhead. The
difference is in the data overhead, which includes some startup-time
dynamic linking overhead for PIC code. In v3, there is no data
overhead except possibly the one semaphore word, and none of that
startup-time overhead at all.
> I'd be interested to also see the numbers when the probes are in place
> in the source, but not enabled. That is, what is the overhead of a
> disabled probe?
> When doing this with SystemTap it would be interesting to try twice:
> once with a semaphore for each probe, and once without.
In v2 and v3, the only runtime overhead of a disabled probe is the
presence of a single 'nop' instruction in the code path. AIUI, on
modern processors that costs less than one cycle. The overhead of
a probe firing is unchanged, being a full breakpoint trap and the
kernel side of handling that and running the probe machinery.
More information about the lttng-dev