summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/bench2/bench.rb30
1 files changed, 20 insertions, 10 deletions
diff --git a/runtime/bench2/bench.rb b/runtime/bench2/bench.rb
index cf1fb90d..dbda5e13 100644
--- a/runtime/bench2/bench.rb
+++ b/runtime/bench2/bench.rb
@@ -149,9 +149,14 @@ MODULE_DESCRIPTION(\"SystemTap probe: bench\");
MODULE_AUTHOR(\"automatically generated by bench2/run_bench\");\n\n"
f << "static int inst_sys_getuid (struct kprobe *p, struct pt_regs *regs) {\n"
f << @code
- f << "\n return 0;\n}
-static struct kprobe kp[] = {\n {\n .addr = \"sys_getuid\",
- .pre_handler = inst_sys_getuid\n }\n};\n
+ f << "\n return 0;\n}\n"
+ f << " static struct kprobe kp[] = {\n {\n"
+ f << "#if defined __powerpc64__ \n"
+ f << " .addr = (void *)\".sys_getuid\",\n"
+ f << "#else \n"
+ f << " .addr = \"sys_getuid\", \n"
+ f << "#endif\n"
+ f << ".pre_handler = inst_sys_getuid\n }\n};\n
#define NUM_KPROBES 1\n
int probe_start(void)\n{\n return _stp_register_kprobes (kp, NUM_KPROBES);\n}\n
void probe_exit (void)\n{\n _stp_unregister_kprobes (kp, NUM_KPROBES); \n}\n"
@@ -185,8 +190,17 @@ obj-m := bench.o
else
@@num_threads = [1]
end
- physical_cpus=`grep "physical id" /proc/cpuinfo`.split("\n").uniq.length
- model=`grep "model name" /proc/cpuinfo`.match(/(model name\t: )([^\n]*)/)[2]
+ arch=`uname -m`.strip
+ if (arch.match(/ppc64/))
+ cpu=`grep "cpu" /proc/cpuinfo`.match(/(cpu\t\t: )([^\n]*)/)[2]
+ clock=`grep "clock" /proc/cpuinfo`.match(/(clock\t\t: )([^\n]*)/)[2]
+ revision=`grep "revision" /proc/cpuinfo`.match(/(revision\t: )([^\n]*)/)[2]
+ cpuinfo=cpu + " " + clock + " revision: " + revision
+ else
+ physical_cpus=`grep "physical id" /proc/cpuinfo`.split("\n").uniq.length
+ model=`grep "model name" /proc/cpuinfo`.match(/(model name\t: )([^\n]*)/)[2]
+ cpuinfo="(#{physical_cpus} physical) #{model}"
+ end
puts "SystemTap BENCH2 \t" + `date`
puts "kernel: " + `uname -r`.strip + " " + `uname -m`.strip
begin
@@ -195,11 +209,7 @@ obj-m := bench.o
end
puts `uname -n`.strip + ": " + `uptime`
- if nproc > 1
- puts "processors: #{nproc} (#{physical_cpus} physical) #{model}"
- else
- puts "processors: #{nproc} #{model}"
- end
+ puts "processors: #{nproc} #{cpuinfo}"
begin
mem=IO.read("/proc/meminfo").split("\n")