forked from deater/perfevent_overhead
-
Notifications
You must be signed in to change notification settings - Fork 0
nivi1501/perfevent_overhead
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Programs for exploring the overhead of various Linux performance counter implementations. ---------------------- How to generate the graphs/data used in the PERF_EVENT paper: Figure 1: Context Switch core2_context_switch.jgr Gathering data: Go into context_switch directory. Copy lat_ctx from lmbench in run ./prepare_before.sh run appropriate .sh file Generating plot run "make" run ./plot_results remove extraneous lines and put into jgr file by hand Figure 2: Start/Stop/Read amd0fh core2 atom nehalem Figure 3: Read amd0fh core2 atom nehalem Figure 4: Start amd0fh core2 atom nehalem Figure 5: Stop amd0fh core2 atom nehalem Gathering data: go into rdtsc directory run "make" For each kernel run "../prepare_before.sh" to turn off cpufrequency scaling. Then run "./generate_results" If rdpmc results desired, run "./generate_results perf_event_rdpmc" If perfctr results, run "./generate_results perfctr" If perfmon2 results, run "./generate_results perfmon2" Once all the data is gathered, consolidate the generated directories under results/$ARCH to one subdir Generating plots go into rdtsc/results directory run "make" run ./make_graphs_colorful_all.sh The graphs will be in "results/graph/colorful" Figure 6: Varying events Generating data: These use the same data as the rdtsc plots Generating plots: go into rdtsc/results directory run "make" run ./make_graphs_varying_all.sh The graphs will be in "results/graph/varying" Figure 7: Taken vs Total amd0fh Figure 8: Branch miss percentage amd0fh Figure 9: Nehalem -- perf-event vs PAPI events -------------------- The website for this work is: http://web.eece.maine.edu/~vweaver/projects/perf_events/overhead/ Other Comments: --------------- The "prepare_before.sh" script will put the cpufreq governor on performance, and the various run commands set the cpu affinity to core 0. Kernels 2.6.36 and 2.6.37 won't let you turn off nmi_watchdog with /proc/sys/kernel/nmi_watchdog? There are many other factors that can affect performance (including number of command line args, which we vary) but hopefully that doesn't matter for these simple null cases? Author: ------- Vince Weaver vincent.weaver _at_ maine.edu 7 March 2013
About
Overhead benchmarks for the perf_event subsystem
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 89.4%
- Shell 5.1%
- Makefile 3.7%
- C++ 1.8%