diff options
author | hunt <hunt> | 2007-04-05 19:46:39 +0000 |
---|---|---|
committer | hunt <hunt> | 2007-04-05 19:46:39 +0000 |
commit | d357359ab12c1f6f87123e912d0dfc0954a6b8c8 (patch) | |
tree | 57812d2f7baec40533a6c27fb45d85faf0cd8bb7 | |
parent | 248ef2c66402533503afae602b73a24ef07d45a8 (diff) | |
download | systemtap-steved-d357359ab12c1f6f87123e912d0dfc0954a6b8c8.tar.gz systemtap-steved-d357359ab12c1f6f87123e912d0dfc0954a6b8c8.tar.xz systemtap-steved-d357359ab12c1f6f87123e912d0dfc0954a6b8c8.zip |
2007-04-05 Martin Hunt <hunt@redhat.com>
* bench2/var_bench, var.st, const.st: New test.
-rw-r--r-- | runtime/ChangeLog | 4 | ||||
-rw-r--r-- | runtime/bench2/const.st | 31 | ||||
-rw-r--r-- | runtime/bench2/var.st | 27 | ||||
-rwxr-xr-x | runtime/bench2/var_bench | 17 |
4 files changed, 79 insertions, 0 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog index e8e25c84..ffc415f3 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,5 +1,9 @@ 2007-04-05 Martin Hunt <hunt@redhat.com> + * bench2/var_bench, var.st, const.st: New test. + +2007-04-05 Martin Hunt <hunt@redhat.com> + * bench2/bench.rb (Stapbench::run): Check result code of "killall staprun". If it is nonzero, something happened to staprun. Print an error. diff --git a/runtime/bench2/const.st b/runtime/bench2/const.st new file mode 100644 index 00000000..a816daec --- /dev/null +++ b/runtime/bench2/const.st @@ -0,0 +1,31 @@ +# constant variable + +# This is a test of the translator's ability to detect +# when variables are never modified and to optimize +# reading of them. + +global a + +# You can put initialization in here +probe begin { + a = 1 +} + +# This gets probed millions of times. TEST gets replaces +# by the real probe point. +probe TEST { + if (a == 0) + printf("a is ZERO\n") + +} + +# something rarely called. Just here to be +# as close as possible to "var.st". +probe kernel.function("sys_delete_module") +{ +} + +probe end { + printf("a=%d\n", a) +} + diff --git a/runtime/bench2/var.st b/runtime/bench2/var.st new file mode 100644 index 00000000..ab77bb06 --- /dev/null +++ b/runtime/bench2/var.st @@ -0,0 +1,27 @@ +# simple variable + +global a + +# You can put initialization in here +probe begin { + a = 1 +} + +# This gets probed millions of times. TEST gets replaces +# by the real probe point. +probe TEST { + if (a == 0) + printf("a is ZERO\n") +} + +# something rarely called. Just to force the optimizer +# to not optimize access to "a" +probe kernel.function("sys_delete_module") +{ + a = 2 +} + +probe end { + printf("a=%d\n", a) +} + diff --git a/runtime/bench2/var_bench b/runtime/bench2/var_bench new file mode 100755 index 00000000..a45d9170 --- /dev/null +++ b/runtime/bench2/var_bench @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +load './bench.rb' + +# This is a test of the translator's ability to detect +# when variables are never modified and to optimize +# reading of them. + +["var.st","const.st"].each do |file| + File.open(file,"r") do |f| + desc = f.gets.sub(/^#/,'').strip + test = Stapbench.new(desc) + test.file = file + test.run + test.print + end +end + |