diff options
Diffstat (limited to 'runtime/probes/bench/run_bench')
-rwxr-xr-x | runtime/probes/bench/run_bench | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/runtime/probes/bench/run_bench b/runtime/probes/bench/run_bench deleted file mode 100755 index a9442d3b..00000000 --- a/runtime/probes/bench/run_bench +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/tclsh -# -*- tcl -*- - -proc do_time {module n} { - global Failures - - # start kprobes - if {[catch {exec ../../stpd/staprun -rmq $module.ko > xxx &} pid]} { - puts $pid - exit -1 - } - - exec sleep 2 - - # get the timings while kprobes running - if {[catch {exec ./ttest $n} res2]} { - puts $res2 - exit -1 - } - - # terminate kprobes - if {[catch {exec kill -s SIGINT $pid} res]} { - 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]} { - foreach phy [split $phyid \n] { - set cpu($phy) 1 - } -} -set model [exec grep "model name" /proc/cpuinfo] -set model [lindex [split $model \n] 0] -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]" -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 "--------------------------------------" - -# get the timings without kprobes -if {[catch {exec ./ttest 4} res1]} { - puts $res1 - exit -1 -} - -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] - -puts "Jprobes overhead = $t_jprobe ns" -puts "Kprobes overhead = $t_kprobe ns" -puts "--------------------------------------" - -if {[file exists bench_ret.ko]} { - set res2 [do_time bench_ret 4] - set t_ret [expr [lindex $res2 0] - $r_overhead] - set t_entret [expr [lindex $res2 1] - $w_overhead] - - puts "Return probe overhead = $t_ret ns" - puts "Entry+Return probe overhead = $t_entret ns" - puts "--------------------------------------" -} - -set res2 [do_time bench_multi 4] -set t_k2 [expr [lindex $res2 0] - $r_overhead] -set t_k4 [expr [lindex $res2 1] - $w_overhead] - -puts "2 kprobes on same func = $t_k2 ns" -puts "4 kprobes on same func = $t_k4 ns" -puts "--------------------------------------" - -set res2 [do_time bench_io1 1] -# subtract function call overhead and kprobe overhead -set t_printf [expr [lindex $res2 0] - $r_overhead - $t_kprobe] -set t_print [expr [lindex $res2 1] - $w_overhead - $t_kprobe] - -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 - -set res2 [do_time bench_io2 1] -# subtract function call overhead and kprobe overhead -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 "Transport failures: $Failures" -puts "--------------------------------------" - -exec /bin/rm -f stpd_cpu* |