Useful Links
From Perf Wiki
(Difference between revisions)
Ian Rogers (Talk | contribs) (→Useful web sites about the Linux perf tools) |
Ian Rogers (Talk | contribs) (Add in the press section) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
=Useful web sites about the Linux perf tools= | =Useful web sites about the Linux perf tools= | ||
+ | * [https://wizardzines.com/zines/perf/ Julia Evans' Profiling & tracing with perf zine] | ||
* [http://www.brendangregg.com/perf.html Brendan Gregg's perf examples] | * [http://www.brendangregg.com/perf.html Brendan Gregg's perf examples] | ||
* [https://www.dbi-services.com/blog/linux-perf-top-basics-understand-the/ Franck Pachot's not so basic perf top tutorial "Linux perf-top basics: understand the %"] | * [https://www.dbi-services.com/blog/linux-perf-top-basics-understand-the/ Franck Pachot's not so basic perf top tutorial "Linux perf-top basics: understand the %"] | ||
* [https://www.dbi-services.com/blog/should-cpu-intensive-logic-be-done-in-the-db-or-in-application-server/ Frank Pachot help going from 'time' to 'perf stat' while analysing database performance on "Should CPU-intensive logic be done in the DB or in application server?"] | * [https://www.dbi-services.com/blog/should-cpu-intensive-logic-be-done-in-the-db-or-in-application-server/ Frank Pachot help going from 'time' to 'perf stat' while analysing database performance on "Should CPU-intensive logic be done in the DB or in application server?"] | ||
+ | * [https://blogs.oracle.com/linux/post/syscall-latency Ankur Arora uses perf and pahole to investigate "Syscall latency... and some uses of speculative execution"] | ||
* [https://www.linaro.org/blog/using-the-arm-statistical-profiling-extension-to-detect-false-cache-line-sharing/ Leo Yan on supporting 'perf c2c' on Armv8.2 "Using the Arm Statistical Profiling Extension to detect false cache-line sharing"] | * [https://www.linaro.org/blog/using-the-arm-statistical-profiling-extension-to-detect-false-cache-line-sharing/ Leo Yan on supporting 'perf c2c' on Armv8.2 "Using the Arm Statistical Profiling Extension to detect false cache-line sharing"] | ||
* [https://www.jabperf.com/5-level-vs-4-level-page-tables-does-it-matter/ Mark Dawson, Jr. uses 'perf diff' on "5-level vs 4-level Page Tables: Does It Matter?"] | * [https://www.jabperf.com/5-level-vs-4-level-page-tables-does-it-matter/ Mark Dawson, Jr. uses 'perf diff' on "5-level vs 4-level Page Tables: Does It Matter?"] | ||
Line 14: | Line 16: | ||
* (French) [https://grasland.pages.in2p3.fr/tp-perf/html/ Hadrien Grasland's perf tutorial (designed to be run on a specific system, but could be adapted to self-study without too much effort)] | * (French) [https://grasland.pages.in2p3.fr/tp-perf/html/ Hadrien Grasland's perf tutorial (designed to be run on a specific system, but could be adapted to self-study without too much effort)] | ||
* [https://people.linaro.org/~leo.yan/debug/perf/Diving_into_Linux_Perf_Ring_Buffer.pdf Leo Yan, Diving into Linux Perf Ring Buffer] | * [https://people.linaro.org/~leo.yan/debug/perf/Diving_into_Linux_Perf_Ring_Buffer.pdf Leo Yan, Diving into Linux Perf Ring Buffer] | ||
+ | * [https://github.com/Leo-Yan/write_plan/blob/master/how_to_use_perf_to_debug_perf/how_to_use_perf_to_debug_perf.pdf Leo Yan Debugging perf with perf] | ||
+ | * [https://developer.ibm.com/tutorials/migrate-from-oprofile-to-perf/ Paul Clarke helps transitioning from OProfile to perf] | ||
=Useful web sites about profilers= | =Useful web sites about profilers= | ||
− | * [https:// | + | * [https://profilerpedia.markhansen.co.nz/ ProfilerPedia A map of the Software Profiling Ecosystem] |
* [https://oprofile.sourceforge.io/news/ OProfile] | * [https://oprofile.sourceforge.io/news/ OProfile] | ||
Line 23: | Line 27: | ||
* [https://youtu.be/aUDtN0qjxD0 Easyperf Twitter Spaces with Arnaldo Carvalho de Melo and Denis Bakhvalov] October 2021 | * [https://youtu.be/aUDtN0qjxD0 Easyperf Twitter Spaces with Arnaldo Carvalho de Melo and Denis Bakhvalov] October 2021 | ||
+ | * [https://static.linaro.org/connect/lvc21/presentations/lvc21-302.pdf Integration Arm SPE in Perf for Memory Profiling] Spring 2021 | ||
* [https://protools19.github.io/slides/Eranian_KeynoteSC19.pdf Stephane Eranian's keynote at SuperComputing ProTools 2019: Hardware Performance Monitoring Landscape] | * [https://protools19.github.io/slides/Eranian_KeynoteSC19.pdf Stephane Eranian's keynote at SuperComputing ProTools 2019: Hardware Performance Monitoring Landscape] | ||
* [https://youtu.be/nXaxk27zwlk CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"] | * [https://youtu.be/nXaxk27zwlk CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"] | ||
Line 33: | Line 38: | ||
* [https://developer.arm.com/architectures/cpu-architecture/a-profile/docs ARM PMU event tables], see Chapter D7. The Performance Monitors Extension, of the Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile. | * [https://developer.arm.com/architectures/cpu-architecture/a-profile/docs ARM PMU event tables], see Chapter D7. The Performance Monitors Extension, of the Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile. | ||
* [https://documentation-service.arm.com/static/62cfe21e31ea212bb6627393?token= ARM Neovese N2 PMU guide]. | * [https://documentation-service.arm.com/static/62cfe21e31ea212bb6627393?token= ARM Neovese N2 PMU guide]. | ||
+ | |||
+ | =In the press= | ||
+ | |||
+ | * Discovery/analysis of ''libxz'' backdoor with ''perf record -e intel_pt//ub'' [https://www.openwall.com/lists/oss-security/2024/03/29/4 by the discoverer Andres Freund]. |
Latest revision as of 14:57, 3 April 2024
Contents |
[edit] Useful web sites about the Linux perf tools
- Julia Evans' Profiling & tracing with perf zine
- Brendan Gregg's perf examples
- Franck Pachot's not so basic perf top tutorial "Linux perf-top basics: understand the %"
- Frank Pachot help going from 'time' to 'perf stat' while analysing database performance on "Should CPU-intensive logic be done in the DB or in application server?"
- Ankur Arora uses perf and pahole to investigate "Syscall latency... and some uses of speculative execution"
- Leo Yan on supporting 'perf c2c' on Armv8.2 "Using the Arm Statistical Profiling Extension to detect false cache-line sharing"
- Mark Dawson, Jr. uses 'perf diff' on "5-level vs 4-level Page Tables: Does It Matter?"
- Joe Mario's original 2016 article about 'perf c2c' "C2C - False Sharing Detection in Linux Perf"
- Paul Clarke reimplements AIX's 'curt' command using perf python scripting support, detailing the whole process on "How to analyze your system with perf and Python"
- Viacheslav Biriukov mentions using perf to get more info about page cache activity in the "Advanced tools" section in his "SRE deep dive into Linux Page Cache" series of articles
- Filip Busic uses perf and other BPF tools in "Examining Problematic Memory in C/C++ Applications with BPF, perf, and Memcheck"
- (French) Hadrien Grasland's perf tutorial (designed to be run on a specific system, but could be adapted to self-study without too much effort)
- Leo Yan, Diving into Linux Perf Ring Buffer
- Leo Yan Debugging perf with perf
- Paul Clarke helps transitioning from OProfile to perf
[edit] Useful web sites about profilers
[edit] Presentations
- Easyperf Twitter Spaces with Arnaldo Carvalho de Melo and Denis Bakhvalov October 2021
- Integration Arm SPE in Perf for Memory Profiling Spring 2021
- Stephane Eranian's keynote at SuperComputing ProTools 2019: Hardware Performance Monitoring Landscape
- CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"
- Roberto Vitillo's presentation on Perf events June 2011
[edit] Manuals
- Intel PMU event tables, in particular Appendix B of the Intel® 64 and IA-32 Architectures Optimization Reference Manual
- AMD PMU event table, the Processor Programming Reference Manual for AMD 17h family see Section 2.1.15 Performance Monitor Counters.
- ARM PMU event tables, see Chapter D7. The Performance Monitors Extension, of the Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile.
- ARM Neovese N2 PMU guide.
[edit] In the press
- Discovery/analysis of libxz backdoor with perf record -e intel_pt//ub by the discoverer Andres Freund.