summaryrefslogtreecommitdiffstats
path: root/runtime/probes/bench/run_bench
diff options
context:
space:
mode:
authorhunt <hunt>2005-08-22 22:19:57 +0000
committerhunt <hunt>2005-08-22 22:19:57 +0000
commitb5e93a155bcaf04e3b2795a70489a8800eb60e97 (patch)
treef39b8053692ae3fe02f507f0a3ea9bb363701c2d /runtime/probes/bench/run_bench
parentdf8fadee215f81b07f809f4d3ebb016e390f2c9b (diff)
downloadsystemtap-steved-b5e93a155bcaf04e3b2795a70489a8800eb60e97.tar.gz
systemtap-steved-b5e93a155bcaf04e3b2795a70489a8800eb60e97.tar.xz
systemtap-steved-b5e93a155bcaf04e3b2795a70489a8800eb60e97.zip
New benchmark: trans_bench.
Diffstat (limited to 'runtime/probes/bench/run_bench')
-rwxr-xr-xruntime/probes/bench/run_bench47
1 files changed, 39 insertions, 8 deletions
diff --git a/runtime/probes/bench/run_bench b/runtime/probes/bench/run_bench
index 471da231..8bbc2dd4 100755
--- a/runtime/probes/bench/run_bench
+++ b/runtime/probes/bench/run_bench
@@ -2,6 +2,8 @@
# -*- tcl -*-
proc do_time {module n} {
+ global Failures
+
# start kprobes
if {[catch {exec ../../stpd/stpd -mq $module.ko > xxx &} pid]} {
puts $pid
@@ -21,9 +23,29 @@ proc do_time {module n} {
puts $res
}
+ exec sleep 2
+
+ # look for warnings
+ exec tail xxx >xxx.tail
+ if {[catch {open xxx.tail r} fd]} {
+ puts "Cannot open test output\n"
+ exit -1
+ }
+
+ set Failures 0
+ while {[gets $fd line] >= 0} {
+ if {[regexp {^\033\[33mWARNING: \033\[0mThere were ([0-9]*) transport failures.} $line match var]} {
+ set Failures $var
+ break
+ }
+ }
+ close $fd
+ exec /bin/rm -f xxx xxx.out
return $res2
}
+######## START HERE ###########
+
set nproc [exec grep ^processor /proc/cpuinfo | wc -l]
if {![catch {exec grep "physical id" /proc/cpuinfo} phyid]} {
@@ -37,16 +59,21 @@ set model [string range $model [expr [string first : $model]+1] end]
set model [string trimleft $model]
puts "STP BENCH for [exec uname -r] on [exec uname -m]"
-puts "[exec uptime]"
+if {[file exists /etc/redhat-release]} {
+ puts [exec cat /etc/redhat-release]
+}
+puts "[exec uname -n]: [exec uptime]"
if {$nproc > 1} {
puts "processors: $nproc ([array size cpu] physical) $model"
} else {
puts "processors: $nproc $model"
}
+set mem [split [exec cat /proc/meminfo] \n]
+puts "[lindex $mem 0] [lindex $mem 1]"
puts "--------------------------------------"
# load the modules
-if {[catch {exec ./check_modules} res]} {
+if {[catch {exec stp_check} res]} {
puts $res
exit -1
}
@@ -60,6 +87,9 @@ if {[catch {exec ./ttest 4} res1]} {
set r_overhead [lindex $res1 0]
set w_overhead [lindex $res1 1]
+puts "function call overhead = $r_overhead ns"
+puts "--------------------------------------"
+
set res2 [do_time bench 4]
set t_kprobe [expr [lindex $res2 0] - $r_overhead]
set t_jprobe [expr [lindex $res2 1] - $w_overhead]
@@ -91,9 +121,10 @@ set res2 [do_time bench_io1 1]
set t_printf [expr [lindex $res2 0] - $r_overhead - $t_kprobe]
set t_print [expr [lindex $res2 1] - $w_overhead - $t_kprobe]
-puts "NETLINK"
-puts "_stp_printf on 100 chars = $t_printf ns"
-puts "_stp_print on 100 chars = $t_print ns"
+puts "PROCFS"
+puts "_stp_printf on 100 chars = $t_printf ns."
+puts "_stp_print on 100 chars = $t_print ns."
+puts "Transport failures: $Failures"
puts "--------------------------------------"
exec sleep 4
@@ -103,9 +134,9 @@ set t_printf [expr [lindex $res2 0] - $r_overhead - $t_kprobe]
set t_print [expr [lindex $res2 1] - $w_overhead - $t_kprobe]
puts "RELAYFS"
-puts "_stp_printf on 100 chars = $t_printf ns"
-puts "_stp_print on 100 chars = $t_print ns"
+puts "_stp_printf on 100 chars = $t_printf ns."
+puts "_stp_print on 100 chars = $t_print ns."
+puts "Transport failures: $Failures"
puts "--------------------------------------"
-exec rm xxx
exec /bin/rm -f stpd_cpu*