LWN.net Logo

You *can't* require an unchanging interface to changeable internals.

You *can't* require an unchanging interface to changeable internals.

Posted Sep 21, 2006 19:56 UTC (Thu) by AJWM (guest, #15888)
In reply to: You *can't* require an unchanging interface to changeable internals. by xoddam
Parent article: Tracing infrastructures

> A config option at
> compile time could choose static tracepoints, dynamic tracepoints
> or no tracepoints at all.

Yes, my thoughts exactly on reading this article. It seems to be something that is crying out for a config option or two.

There's still the argument that it's that much more code to maintain, but any arguments about runtime effects would be decided by whoever does the compile.


(Log in to post comments)

You *can't* require an unchanging interface to changeable internals.

Posted Sep 22, 2006 0:57 UTC (Fri) by dlang (✭ supporter ✭, #313) [Link]

the problem is that if it has a significant runtime effect it won't be turned on when you need it (production systems running distro kernels)

this needs to be something that redhat (and others) can leave on all the time so that when there are problems the tools can be used.

if you have to recompile the kernel and reboot your production system into a lower-performing kernel for days to weeks until you can duplicate the problem you just are not going to do so.

however if you can run for days or weeks with normal performance, and then when teh problem kicks in load up the tracer to capture what's going on for a bit before you reboot to get things back up again, you have a tool that can be used.

You *can't* require an unchanging interface to changeable internals.

Posted Sep 28, 2006 21:57 UTC (Thu) by efexis (guest, #26355) [Link]

Can't we learn anything from SMP Alternatives? Ie, stick a couple of NOP's in the code big enough to replace it with a CALL instruction when you want to add a tracepoint there. On 64bit systems I guess the CALL instruction is going to be longer (including the 64bit address), so maybe a JMP $+9 and a few NOP's would be quicker than just the NOP's (I haven't looked into processor instruction timings for a -long time-).

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds