diff options
author | jistone <jistone> | 2006-09-28 01:48:59 +0000 |
---|---|---|
committer | jistone <jistone> | 2006-09-28 01:48:59 +0000 |
commit | 197a4d6270c59a00030a33735865262a157edc24 (patch) | |
tree | e6dc1c31b7a8355124aaefdaea987f4590d7b65a /parse.cxx | |
parent | a0ccc04fd2b9744facb48e779d6357d3b7096ee0 (diff) | |
download | systemtap-steved-197a4d6270c59a00030a33735865262a157edc24.tar.gz systemtap-steved-197a4d6270c59a00030a33735865262a157edc24.tar.xz systemtap-steved-197a4d6270c59a00030a33735865262a157edc24.zip |
2006-09-27 Josh Stone <joshua.i.stone@intel.com>
* session.h (struct systemtap_session): Add kernel_base_release
to store the kernel version without the -NNN suffix.
* main.cxx (main): Generate and use kernel_base_release.
* parse.cxx (eval_pp_conditional): Use kernel_base_release.
* tapsets.cxx (profile_derived_probe::profile_derived_probe):
Use kernel_base_release.
* tapsets.cxx (timer_builder::build): Support a wide variety of
timer varients -- jiffies, s/sec, ms/msec, us/usec, ns/nsec, and
hz. Use hrtimers automatically on kernels that have it.
(timer_builder::register_patterns): Bind all of the new timer
varients in one easy place.
(register_standard_tapsets): Call timer_builder::register_patterns.
(struct hrtimer_builder): Removed since timer_builder is generic.
* stapprobes.5.in: Document new timer.* functionality.
* tapsets.cxx (hrtimer_derived_probe_group::emit_probes): Add a
shared global for the actual hrtimer resolution, _stp_hrtimer_res.
(hrtimer_derived_probe_group::emit_module): Init _stp_hrtimer_res.
(hrtimer_derived_probe::emit_interval): Limit intervals at a
minimum to the hrtimer's actual resolution.
(hrtimer_derived_probe::emit_probe_entries): Forward timers
based on previous expiration instead of restarting relative.
testsuite/
* buildok/fourteen.stp: Test new timer functionality.
Diffstat (limited to 'parse.cxx')
-rw-r--r-- | parse.cxx | 6 |
1 files changed, 1 insertions, 5 deletions
@@ -162,11 +162,7 @@ bool eval_pp_conditional (systemtap_session& s, l->content == "kernel_vr")) { string target_kernel_vr = s.kernel_release; - string target_kernel_v = target_kernel_vr; - // cut off any release code suffix - string::size_type dr = target_kernel_vr.find ('-'); - if (dr > 0 && dr != string::npos) - target_kernel_v = target_kernel_vr.substr (0, dr); + string target_kernel_v = s.kernel_base_release; if (! (r->type == tok_string)) throw parse_error ("expected string literal", r); |