Support ENABLED sdt probe macro

Stan Cox scox@redhat.com
Mon Aug 17 02:44:00 GMT 2009


uprobe and utrace are now supported similarly.

uprobe
stap_uprobe_spec add tsk and sdt_sem_address, initialize
stap_uprobe_change increment the semaphore variable using 
__access_process_vm
systemtap_module_exit decrement all the semaphore variables

utrace
stap_utrace_probe add tsk and sdt_sem_address, initialize
_stp_utrace_probe_cb increment the semaphore variable
systemtap_module_exit decrement all the semaphore variables

session.h add std::map<Dwarf_Addr, derived_probe*> sdt_semaphore_addr;
tapsets.cxx record it
tapsets.cxx allow for uprobe enable variable to be set and unset
tapset-utrace.cxx all for utrace enable variable to be set and unset

Here are some performance results for a looping test:
uprobe and stap
 1.06user 11.03system 0:12.17elapsed 99%CPU (0avgtext+0avgdata 
0maxresident)k
 0inputs+1248outputs (0major+8354minor)pagefaults 0swaps
utrace and stap
 0.67user 4.33system 0:05.08elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
 0inputs+1024outputs (0major+7945minor)pagefaults 0swaps
kprobe and stap
 1.08user 0.55system 0:01.66elapsed 98%CPU (0avgtext+0avgdata 0maxresident)k
 0inputs+936outputs (0major+25594minor)pagefaults 0swaps
uprobe no stap
 real    0m0.004s  user    0m0.004s  sys    0m0.000s
utrace no stap
 real    0m0.004s  user    0m0.002s  sys    0m0.002s
kprobe no stap
 real    0m0.003s  user    0m0.002s  sys    0m0.002s


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ,git.diff
URL: <http://sourceware.org/pipermail/systemtap/attachments/20090817/2934c26f/attachment.ksh>


More information about the Systemtap mailing list