This is the mail archive of the systemtap@sources.redhat.com mailing list for the systemtap project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi -
wcohen wrote:
Is there an advantage to splitting my_func_list from the probe body? Are there cases where my_func_list would be used more than once in the instrumentation? [...]
Indeed.
Actually, focusing on this particular aspect as a matter of grammar is
probably too narrow. If one class of provider is to identify breakpoints
using a namespace like "<provider>.<something>(<param>)", of which kernel.function("foo") or kernel.syscall("read") are two special cases,
then having explicit productions for these is not necessary. Think of
it more like on-the-fly nested struct declarations, to be resolved via
symbol tables during elaboration. The parse tree would look just like
breakpoint_spec_component :=
"." symbol | "." symbol "(" argument_list ")"
The trick becomes the declaration of symbolic breakpoints as a script fragment. Imagine this file in the provider script library:
kern/2.6/syscall.stp: /* ... */ break kernel.syscall.read = kernel.symbol("sys_read"); break kernel.syscall.fork = kernel.symbol("do_fork"); /* ... */
Then a user-level script could use "kernel.syscall.fork" as a symbolic reference.
[...] The schemes of implementing the probe on function probe exit have involved having an implicit probe on the function entry to set things up for the function exit. Either the multiple probe actions (explicit and implicit) will need to be combined into one probe or kprobes will need to allow multiple probes at a particular probe point.
Right, or perhaps the kprobes layer can hide the implementation details of exit-time probes from the kprobes API, so that coincidental entry-time probes don't need to be aware. kprobes would take care of exit-probe setup before launching into any user-given entry probe.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |