Useful Links

From Perf Wiki
(Difference between revisions)
Jump to: navigation, search
(Useful web sites about profiling)
(Add in the press section)
 
(12 intermediate revisions by 3 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?"]
 
* [https://joemario.github.io/blog/2016/09/01/c2c-blog/ Joe Mario's original 2016 article about 'perf c2c' "C2C - False Sharing Detection in Linux Perf"]
 
* [https://joemario.github.io/blog/2016/09/01/c2c-blog/ Joe Mario's original 2016 article about 'perf c2c' "C2C - False Sharing Detection in Linux Perf"]
 
* [https://opensource.com/article/18/7/fun-perf-and-python 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"]
 
* [https://opensource.com/article/18/7/fun-perf-and-python 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"]
 +
* [https://biriukov.dev/docs/page-cache/0-linux-page-cache-for-sre/ 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]
 +
* [https://doordash.engineering/2021/04/01/examining-problematic-memory-with-bpf-perf-and-memcheck/ Filip Busic uses perf and other BPF tools in "Examining Problematic Memory in C/C++ Applications with BPF, perf, and Memcheck"]
 +
* (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://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://www.markhansen.co.nz/profilerpedia/ ProfilerPedia A map of the Software Profiling Ecosystem]
+
* [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 19: 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 28: Line 37:
 
* [https://developer.amd.com/resources/developer-guides-manuals/ AMD PMU event table], the Processor Programming Reference Manual for AMD 17h family see Section 2.1.15 Performance Monitor Counters.
 
* [https://developer.amd.com/resources/developer-guides-manuals/ AMD PMU event table], the Processor Programming Reference Manual for AMD 17h family see Section 2.1.15 Performance Monitor Counters.
 
* [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].
 +
 +
=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

[edit] Useful web sites about profilers

[edit] Presentations

[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

Personal tools