diff options
Diffstat (limited to 'testsuite')
-rwxr-xr-x | testsuite/buildok/perfmon01.stp | 26 | ||||
-rw-r--r-- | testsuite/systemtap.pass1-4/buildok.exp | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/testsuite/buildok/perfmon01.stp b/testsuite/buildok/perfmon01.stp new file mode 100755 index 00000000..00a47cc3 --- /dev/null +++ b/testsuite/buildok/perfmon01.stp @@ -0,0 +1,26 @@ +#! stap -p4 + +# This exercises the perfom tapset. +# for this to work the following needs to be set up: +# 1) the processor on machine supported perfmon hardware +# 2) libpfm and libpfm-devel available on machine +# 3) systemtap translator built with "--enable-perfmon" + +global h1, h2 +global startt, starti + +probe perfmon.counter("cycles") { h1=$counter; } +probe perfmon.counter("instructions") { h2=$counter; } + +probe kernel.function("sys_read"){ + startt=read_counter(h1); + starti=read_counter(h2); +} + +probe kernel.function("sys_read").return { + stopt=read_counter(h1); + stopi=read_counter(h2); + + printf ("time = %d\n", stopt-startt); + printf ("instructions = %d\n", stopi-starti); +} diff --git a/testsuite/systemtap.pass1-4/buildok.exp b/testsuite/systemtap.pass1-4/buildok.exp index 657f8558..9d05a9bb 100644 --- a/testsuite/systemtap.pass1-4/buildok.exp +++ b/testsuite/systemtap.pass1-4/buildok.exp @@ -9,6 +9,7 @@ foreach file [lsort [glob -nocomplain $srcdir/$self/*.stp]] { buildok/seven.stp {setup_kfail 9999 *-*-*} buildok/process_test.stp {setup_kfail 9999 *-*-*} buildok/syscall.stp {setup_kfail 9999 *-*-*} + buildok/perfmon01.stp {setup_kfail 9999 *-*-*} } if {$rc == 0} { pass $test } else { fail $test } } |