Hello, I''m interested in Dtrace implementation details. I''m especially interested in system behaviour with Dtrace disabled: does kernel continues to make every test is specified probe enabled, or probes'' hooks are somehow removed at runtime (replaced by nop-opcode?). Help will be appreciated Cheers, Aleksander
On Sat, Nov 19, 2005 at 12:02:37AM +0100, anon at op.pl wrote:> Hello, > > I''m interested in Dtrace implementation details. I''m especially > interested in system behaviour with Dtrace disabled: does kernel > continues to make every test is specified probe enabled, or probes'' > hooks are somehow removed at runtime (replaced by nop-opcode?).Generally, there are no "tests" involved; the kernel or userland code is hot-patched to branch or trap to instumentation code when the probe is enabled. You might want to read the DTrace USENIX paper: http://www.sun.com/bigadmin/content/dtrace/dtrace_usenix.pdf in particular, section 4, which discusses the implemenation of various probe providers on Sparc and X86. Cheers, - jonathan -- Jonathan Adams, Solaris Kernel Development
Roch Bourbonnais - Performance Engineering
2005-Nov-21 09:49 UTC
[dtrace-discuss] Dtrace implementation details
To reinforce Jonathan''s point, one aspect of Dtrace which is not appreciated enough : the >40000 Kernel fbt probes and all the pid probes around function boundaries have "ZERO DISABLED PROBE" effects, period. Which means, when you do not use them, they do no perturb the system IN ANY WAY; no compiler magic, no loader magic. This is one great characteristic for a tracing framework. -r Jonathan Adams writes: > On Sat, Nov 19, 2005 at 12:02:37AM +0100, anon at op.pl wrote: > > Hello, > > > > I''m interested in Dtrace implementation details. I''m especially > > interested in system behaviour with Dtrace disabled: does kernel > > continues to make every test is specified probe enabled, or probes'' > > hooks are somehow removed at runtime (replaced by nop-opcode?). > > Generally, there are no "tests" involved; the kernel or userland code is > hot-patched to branch or trap to instumentation code when the probe is > enabled. You might want to read the DTrace USENIX paper: > > http://www.sun.com/bigadmin/content/dtrace/dtrace_usenix.pdf > > in particular, section 4, which discusses the implemenation of various > probe providers on Sparc and X86. > > Cheers, > - jonathan > > -- > Jonathan Adams, Solaris Kernel Development > _______________________________________________ > dtrace-discuss mailing list > dtrace-discuss at opensolaris.org