Re: Performance analysis of Linux Kernel Markers 0.20 for 2.6.17
Mathieu Desnoyers <[email protected]>
| Newsgroups | gmane.linux.systemtap,gmane.linux.kernel,gmane.linux.kernel.tracing |
|---|---|
| Message-ID | <20061002153849.GA19568@Krystal> |
Hi Jose, * Jose R. Santos ([email protected]) wrote: > > The problem now is how do we define "high event rate". This is > something that is highly dependent on the workload being run as well as > the system configuration for such workload. There are a lot of places > in the kernel that can be turned into high event rates with with the > right workload even though the may not represent 99% of most user cases. > > I would guess that anything above 500 event/s per-CPU on several > realistic workloads is a good place to start. > Yes, it seems like a good starting point. But besides the event rate, just having the most widely used events marked in the code should also be the target. The markup mechanism serves two purposes : 1 - identify important events in a way that follows code change. 2 - speed up instrumentation. > > >On the macro-benchmark side, no significant difference in performance has > >been > >found between the vanilla kernel and a kernel "marked" with the standard > >LTTng > >instrumentation. > > > > Out of curiosity, how many cycles does it take to process a complete > LTTng event up until the point were it has been completely stored into > the trace buffer. Since this should take a lot more than 55.74 cycles, > it would be interesting to know at what event rate would a static marker > stop showing as big of a performance advantage compared to dynamic probing. > In my OLS paper, I pointed out that, in its current state, LTTng took about 278 cycles on the same Pentium 4. I think I could lower that by implementing per-cpu atomic operations (removing the LOCK prefix, as the data is not shared between the CPUs; the atomic operations are only useful to protect from higher priority execution contexts on the same CPU). Regards, Mathieu OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68