]> sourceware.org Git - systemtap.git/commit
hrtimer probes: support on-the-fly [dis]arming
authorJonathan Lebon <jlebon@redhat.com>
Mon, 2 Jun 2014 21:22:52 +0000 (17:22 -0400)
committerJonathan Lebon <jlebon@redhat.com>
Mon, 11 Aug 2014 19:40:00 +0000 (15:40 -0400)
commit039546fa756906b997e3cb47733b13d2779488c4
treedb6fcf6456f4670155dd23b2837a3f1522409c8a
parent9c91d9d5e7027e552c8e334e94b5444b742a6eb2
hrtimer probes: support on-the-fly [dis]arming

This patch adds support for on-the-fly arming/disarming of hrtimer
probes. Although it is only supported for non-usermode, there were a few
changes required in dyninst/timer.c so that the same interface is
exposed for both usermode and kernel mode.

runtime/dyninst/timer.c

   - Decouple timer creation from timer starting by factoring out
     _stp_hrtimer_start() from _stp_hrtimer_create().
   - Make _stp_hrtimer_cancel() actually just cancel the timer, and not
     completely delete it.
   - Add new _stp_hrtimer_delete() to delete the timer.

runtime/linux/timer.c

   - Similarly, factor out _stp_hrtimer_start() from
     _stp_hrtimer_create().
   - Add new _stp_hrtimer_delete(), which also does a cancel.

tapset-timers.cxx

   - Declare hrtimer_derived_probe as a probe that supports on-the-fly
     operations.
   - In emit_module_init(): unconditionally create the timer, but if in
     STP_ON_THE_FLY mode, only bother to start it if its condition is
     met.
   - In emit_module_refresh(): check for which timers to start/cancel.
runtime/dyninst/timer.c
runtime/linux/timer.c
tapset-timers.cxx
This page took 0.03116 seconds and 5 git commands to generate.