PRT.DevelopPerformanceCounters History
Show minor edits - Show changes to output - Cancel
Changed line 3 from:
Performance counters can be accessed in multiple ways, normally through a higher-level tool. For This work, we chose to directly use Linux's built-in performance counter calls, which we place at strategic locations in the source code of VMS. The reasons for this choice and details of how to use the calls is in the [[Attach:perfcounters.pdf |attached PDF]]. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel. The PDF should be read before trying to use the visualization system, in order to understand what can go wrong.
to:
Performance counters can be accessed in multiple ways, normally through a higher-level tool. For This work, we chose to directly use Linux's built-in performance counter calls, which we place at strategic locations in the source code of VMS. The reasons for this choice and details of how to use the calls is in the [[ VMS:DevelopPerfEventUsage| perf_event usage]]. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel. The PDF should be read before trying to use the visualization system, in order to understand what can go wrong.
Changed line 14 from:
To check the perf_event_paranoid file, execute: cat /proc/sys/kernel/perf_event_paranoid (it should print out "1"). To change it, you need root priveleges, then just use vi or any other text editor, and put a "1" all by itself on the first line of the file.
to:
To check the perf_event_paranoid file, execute: cat /proc/sys/kernel/perf_event_paranoid (it should print out "-1"). To change it, you need root priveleges, then just use vi or any other text editor, and put a "-1" all by itself on the first line of the file.
Changed line 3 from:
Performance counters can be accessed in multiple ways, normally through a higher-level tool. For This work, we chose to directly use Linux's built-in performance counter calls, which we place at strategic locations in the source code of VMS. The reasons for this choice and details of how to use the calls is in the [[Attach:perfcounters.pdf |attached PDF]]. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel. The PDF should be read before trying to use the visualization system.
to:
Performance counters can be accessed in multiple ways, normally through a higher-level tool. For This work, we chose to directly use Linux's built-in performance counter calls, which we place at strategic locations in the source code of VMS. The reasons for this choice and details of how to use the calls is in the [[Attach:perfcounters.pdf |attached PDF]]. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel. The PDF should be read before trying to use the visualization system, in order to understand what can go wrong.
Changed line 18 from:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|high level page on perf counter usage]]
to:
* [[http://www.eece.maine.edu/~vweaver/projects/perf_events/|high level page on perf counter usage]]
Changed lines 19-20 from:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/perf_event_open.html|page on low-level perf counter usage]]
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
to:
* [[http://www.eece.maine.edu/~vweaver/projects/perf_events/perf_event_open.html|page on low-level perf counter usage]]
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
Changed line 14 from:
To check the perf_event_paranoid file execute: cat /proc/sys/kernel/perf_event_paranoid (it should print out "1")
to:
To check the perf_event_paranoid file, execute: cat /proc/sys/kernel/perf_event_paranoid (it should print out "1"). To change it, you need root priveleges, then just use vi or any other text editor, and put a "1" all by itself on the first line of the file.
Changed lines 7-8 from:
* /proc/sys/kernel/perf_event_paranoid must contain 1 (for access by non-privileged users -- the most common reason the calls fail)
to:
* /proc/sys/kernel/perf_event_paranoid must contain 1 (the most common reason the calls fail)
Changed line 20 from:
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
to:
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
Changed line 11 from:
* execute this to check the switch: cat /boot/config-<//uname output//> | grep CONFIG_PERF_COUNTERS
to:
* execute this to check the switch: cat /boot/config-//uname output// | grep CONFIG_PERF_COUNTERS
Changed line 11 from:
* execute this to check the switch: cat /boot/config-<uname output> | grep CONFIG_PERF_COUNTERS
to:
* execute this to check the switch: cat /boot/config-<//uname output//> | grep CONFIG_PERF_COUNTERS
Changed line 11 from:
* execute this to check the switch: cat /boot/config-<uname release> | grep CONFIG_PERF_COUNTERS
to:
* execute this to check the switch: cat /boot/config-<uname output> | grep CONFIG_PERF_COUNTERS
Added lines 8-14:
To check the CONFIG_PERF_COUNTERS compiler switch,
* execute uname -r to print the kernel release and look for the corresponding config file in the /boot directory
* execute this to check the switch: cat /boot/config-<uname release> | grep CONFIG_PERF_COUNTERS
* It may also work to do this: gzip -cd /proc/config.gz | grep CONFIG_PERF_COUNTERS
To check the perf_event_paranoid file execute: cat /proc/sys/kernel/perf_event_paranoid (it should print out "1")
Changed lines 3-4 from:
to:
Performance counters can be accessed in multiple ways, normally through a higher-level tool. For This work, we chose to directly use Linux's built-in performance counter calls, which we place at strategic locations in the source code of VMS. The reasons for this choice and details of how to use the calls is in the [[Attach:perfcounters.pdf |attached PDF]]. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel. The PDF should be read before trying to use the visualization system.
Changed lines 6-7 from:
* Kernel has to be compiled with CONFIG_PERF_COUNTERS=y
* /proc/sys/kernel/perf_event_paranoid must contain 1 (for access by non-privileged users)
to:
* Kernel has to be compiled with CONFIG_PERF_COUNTERS=y (which is the default for recent kernels)
* /proc/sys/kernel/perf_event_paranoid must contain 1 (for access by non-privileged users -- the most common reason the calls fail)
* /proc/sys/kernel/perf_event_paranoid must contain 1 (for access by non-privileged users -- the most common reason the calls fail)
Changed lines 5-7 from:
* [[http://web
to:
The most common reason for perf counters not working are:
* Kernel has to be compiled with CONFIG_PERF_COUNTERS=y
* /proc/sys/kernel/perf_event_paranoid must contain 1 (for access by non-privileged users)
Here are some pages from a site by a developer on the PAPI project. The site has a fairly complete discussion of all things related to Linux performance counter usage:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|high level page on perf counter usage]]
* Kernel has to be compiled with CONFIG_PERF_COUNTERS=y
* /proc/sys/kernel/perf_event_paranoid must contain 1 (for access by non-privileged users)
Here are some pages from a site by a developer on the PAPI project. The site has a fairly complete discussion of all things related to Linux performance counter usage:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|high level page on perf counter usage]]
Changed line 13 from:
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
to:
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
Changed line 3 from:
The [[Attach:perfcounters.pdf |attached PDF]] talks about how to put performance counters directly into source code. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel.
to:
The [[Attach:perfcounters.pdf |attached PDF]] says how to enable performance counters on Linux, and how to put performance counters directly into source code. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel. The PDF should be read before trying to use the visualization system.
Changed lines 7-8 from:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|top level page on perf counter page]]
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/programming.html|man page on low-level perf counter usage]]
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/programming.html|
to:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|high level page on perf counter page]]
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/programming.html|page on low-level perf counter usage]]
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/programming.html|page on low-level perf counter usage]]
Changed line 7 from:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|main perf counter page]]
to:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|top level page on perf counter page]]
Added lines 4-10:
Here is a page kept by a developer on the PAPI project. It has a fairly complete discussion of all things related to Linux performance counter usage:
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/index.html|main perf counter page]]
* [[http://web.eecs.utk.edu/~vweaver1/projects/perf-events/programming.html|man page on low-level perf counter usage]]
* [[VMS.DevelopPerfCountersLLDocCopy|if above link is broken, here's a cached version]]
Changed line 3 from:
The attached PDF talks about how to put performance counters directly into source code. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel.
to:
The [[Attach:perfcounters.pdf |attached PDF]] talks about how to put performance counters directly into source code. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel.
Added lines 1-3:
!!Performance Counter Usage
The attached PDF talks about how to put performance counters directly into source code. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel.
The attached PDF talks about how to put performance counters directly into source code. It references this design document from the Linux source tree: [[https://github.com/torvalds/linux/blob/master/tools/perf/design.txt | Design document]] describing the details of performance counters in the Linux kernel.