You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-22Lines changed: 27 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,16 +6,20 @@ Despite being an OS-oriented tool, PMCTrack still allows gathering PMC values fr
6
6
7
7
## Project Contributors
8
8
9
-
* Juan Carlos Saez Alcaide (<jcsaezal@ucm.es>) - Creator of PMCTrack and main maintainer.
10
-
* Jorge Casas Hernan - Maintainer of PMCTrack-GUI
11
-
* Abel Serrano Juste (aka [@Akronix](https://github.com/Akronix))
12
-
* Javier Setoain
9
+
* Juan Carlos Saez Alcaide (<jcsaezal@ucm.es>) - Creator of PMCTrack and main maintainer
10
+
* Adrián García García (aka [@Mizadri](https://github.com/mizadri))
11
+
* Jaime Sáez de Buruaga Brouns (aka [@jaimesaez97](https://github.com/jaimesaez97))
13
12
14
13
## Past Contributors
15
14
16
-
* Guillermo Martinez Fernandez
17
-
* Sergio Sanchez Gordo
18
-
* Sofia Dronda Merino
15
+
* Jorge Casas Hernan
16
+
* Abel Serrano Juste (aka [@Akronix](https://github.com/Akronix))
17
+
* Germán Franco Dorca
18
+
* Andrés Plaza Hernando
19
+
* Javier Setoain
20
+
* Guillermo Martinez Fernández
21
+
* Sergio Sánchez Gordo
22
+
* Sofía Dronda Merino
19
23
20
24
## Publications
21
25
@@ -27,11 +31,11 @@ Despite being an OS-oriented tool, PMCTrack still allows gathering PMC values fr
27
31
To support PMCTrack, a patched Linux kernel must be installed on the machine. A number of kernel patches for various Linux versions can be found in the `src/kernel-patches` directory. The name of each patch file encodes the Linux kernel version where the patch must be applied to as well as the processor architecture supported. The format is as follows:
To build the kernel for PMCTrack, the following option must be enabled when configuring the kernel:
32
36
33
37
CONFIG_PMCTRACK=y
34
-
38
+
35
39
36
40
The kernel headers for the patched Linux version must be installed on the system as well. This is necessary for a successful out-of-tree build of PMCTrack's kernel module. An out-of-tree-ready Makefile can be found in the sources for the different flavors of the kernel module.
37
41
@@ -56,7 +60,7 @@ On Mac OS X, PMCTrack-GUI has been succesfully tested after installing the above
## Select MacPorts Python27 interpreter by default
61
65
$sudo port select --set python python27
62
66
$sudo port select --set ipython ipython27
@@ -67,7 +71,7 @@ On Mac OS X, PMCTrack-GUI has been succesfully tested after installing the above
67
71
The `PMCTRACK_ROOT` environment variable must be defined for a successful execution of the various PMCTrack command-line tools. The `shrc` script found in the repository's root directory can be used to set the `PMCTRACK_ROOT` variable appropriately as well as to add command-line tools' directories to the PATH. To make this possible, run the following command in the root directory of the repository:
68
72
69
73
$ . shrc
70
-
74
+
71
75
Now kernel-level and user-level components can be easily built with the `pmctrack-manager` script as follows:
72
76
73
77
$ pmctrack-manager build
@@ -77,7 +81,7 @@ Now kernel-level and user-level components can be easily built with the `pmctrac
77
81
Processor_bitwidth=64
78
82
***********************************************
79
83
Press ENTER to start the build process...
80
-
84
+
81
85
*************************************************
82
86
*** Building supported PMCTrack kernel modules **
83
87
*************************************************
@@ -174,15 +178,16 @@ After that, load any of the available flavors of the PMCTrack's kernel module co
174
178
175
179
The following table summarizes the properties of the various flavors of the kernel module:
176
180
177
-
| Name | Path of the .ko file | Supported processors |
| intel-core |`src/modules/pmcs/intel-core/mchw_intel_core.ko`| Most Intel multi-core processors are compatible with this module, including recent processors based on the Intel "Broadwell" microarchitecture. |
180
-
| amd |`src/modules/pmcs/amd/mchw_amd.ko`| This module has been successfully tested on AMD opteron processors. Nevertheless, it should be compatible with all AMD multicore processors. |
181
-
| arm |`src/modules/pmcs/arm/mchw_arm.ko`| This module has been successfully tested on ARM systems featuring 32-bit big.LITTLE processors, which combine ARM Cortex A7 cores with and ARM Cortex A15 cores. Specifically, tests were performed on the ARM Coretile Express Development Board (TC2). |
182
-
| odroid-xu |`src/modules/pmcs/odroid-xu/mchw_odroid_xu.ko`| Specific module for Odroid XU3 and XU4 boards. More information on these boards can be found at [www.hardkernel.com](http://www.hardkernel.com)|
183
-
| arm64 |`src/modules/pmcs/arm64/mchw_arm64.ko`| This module has been successfully tested on ARM systems featuring 64-bit big.LITTLE processors, which combine ARM Cortex A57 cores with and ARM Cortex A53 cores. Specifically, tests were performed on the ARM Juno Development Board. |
| core2 |`src/modules/pmcs/phi/mchw_core2.ko`| This module has been specifically designed for the Intel QuickIA prototype system. The Intel QuickIA is a dual-socket asymmetric multicore system that features a quad-core Intel Xeon E5450 processor and a dual-core Intel Atom N330. The module also works with Intel Atom processors as well as "old" Intel multicore processors, such as the Intel Core 2 Duo. Nevertheless, given the numerous existing hacks for the QuickIA in this module, users are advised to use the more general "intel-core" flavor. |
181
+
| Name | Path of the .ko file | Supported processors |
| intel-core |`src/modules/pmcs/intel-core/mchw_intel_core.ko`| Most Intel multi-core processors are compatible with this module, including recent processors based on the Intel "Broadwell" microarchitecture. |
184
+
| amd |`src/modules/pmcs/amd/mchw_amd.ko`| This module has been successfully tested on AMD opteron processors. Nevertheless, it should be compatible with all AMD multicore processors. |
185
+
| arm |`src/modules/pmcs/arm/mchw_arm.ko`| This module has been successfully tested on ARM systems featuring 32-bit big.LITTLE processors, which combine ARM Cortex A7 cores with and ARM Cortex A15 cores. Specifically, tests were performed on the ARM Coretile Express Development Board (TC2). |
186
+
| odroid-xu |`src/modules/pmcs/odroid-xu/mchw_odroid_xu.ko`| Specific module for Odroid XU3 and XU4 boards. More information on these boards can be found at [www.hardkernel.com](http://www.hardkernel.com)|
187
+
| arm64 |`src/modules/pmcs/arm64/mchw_arm64.ko`| This module has been successfully tested on ARM systems featuring 64-bit big.LITTLE processors, which combine ARM Cortex A57 cores with and ARM Cortex A53 cores. Specifically, tests were performed on the ARM Juno Development Board. |
| core2 |`src/modules/pmcs/phi/mchw_core2.ko`| This module has been specifically designed for the Intel QuickIA prototype system. The Intel QuickIA is a dual-socket asymmetric multicore system that features a quad-core Intel Xeon E5450 processor and a dual-core Intel Atom N330. The module also works with Intel Atom processors as well as "old" Intel multicore processors, such as the Intel Core 2 Duo. Nevertheless, given the numerous existing hacks for the QuickIA in this module, users are advised to use the more general "intel-core" flavor. |
190
+
| perf |`src/modules/pmcs/perf/mchw_perf.ko`| Experimental backend that uses Perf Events's kernel API to access performance monitoring counters |
186
191
187
192
188
193
Once the most suitable kernel model for the system has been identified, the module can be loaded in the running PMCTrack-enabled kernel as follows:
@@ -408,7 +413,7 @@ The `pmc-events` command can be used to list the virtual counters exported by th
0 commit comments