On Tue, Jan 19, 2010 at 12:52:53AM +0000, Robert Milkowski wrote: > Hi, > > It might be interesting to some of you. > > http://int3.de/download/ntrace/NTrace_FunctionBoundaryTracingForIa32.pdf > http://int3.de/download/ntrace/NTrace_FunctionBoundaryTracingForIa32_WCRE2009_SlideDeck.pdf > > I repeated the getpid() microbenchmark on my Toshiba r600 and I got > about 4x slowdown while fbt::getpid:entry,fbt::getpid:return were active > and about 2x slowdown for syscall::getpid:entry,syscall::getpid:return > so the numbers they provided for x86 seem right. I noticed that they > used open solaris 32bit for some reason, I did in 64bit mode and got > similar results so probably doesn't matter that much for that particular > microbenchmark. > > Of course in real life it doesn't matter that much and real overhead > will be much smaller in most cases still the ntrace results are interesting.
They seem to be lauding themselves for simply intelligently using a framework put together by Microsoft. In particular, the compiler has graciously created an instruction signature and (more importantly) trampoline padding between functions -- allowing them to safely use branch-based (instead of trap-based) instrumentation. They seem to conveniently forget this essential bit of compiler help when discussing the trap-based instrumentation of KernInst and DTrace... More generally, this paper (like many pre-DTrace instrumentation papers) obsesses over instrumentation overhead while ignoring the more significant issues of disabled probe effect and efficient data processing (scalable aggregations, wait-free dynamic variables, predicate caching, etc). The first issue is presumably immaterial: even if this technique has disabled probe effect, that decision has already been made by Microsoft. But the second issue remains paramount: who cares about the overhead of instrumenting millions of getpid calls per second if you can't aggregate that information in a scalable fashion? All of that said, I'm flattered to see them refer to "function boundary tracing" as if it's a notion that existed prior to DTrace, as that term is one that I vividly recall pulling out of my ass... ;) - Bryan -------------------------------------------------------------------------- Bryan Cantrill, Sun Microsystems Fishworks. http://blogs.sun.com/bmc _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org