OProfile Internals
Next
OProfile Internals
John
Levon
<
levon@movementarian.org
>
Copyright © 2003 John Levon
Table of Contents
1. Introduction
1. Overview
2. Components of the OProfile system
2.1. Architecture-specific components
2.2. oprofilefs
2.3. Generic kernel driver
2.4. The OProfile daemon
2.5. Post-profiling tools
2. Performance counter management
1. Providing a user interface
2. Programming the performance counter registers
2.1. Starting and stopping the counters
2.2. IA64 and perfmon
3. Collecting and processing samples
1. Receiving interrupts
2. Core data structures
3. Logging a sample
4. Logging stack traces
5. Synchronising the CPU buffers to the event buffer
6. Identifying binary images
7. Finding a sample's binary image and offset
4. Generating sample files
1. Processing the buffer
1.1. Handling kernel samples
2. Locating and creating sample files
3. Writing data to a sample file
5. Generating useful output
1. Handling the profile specification
2. Collating the candidate sample files
2.1. Classifying sample files
2.2. Creating inverted profile lists
3. Generating profile data
3.1. Processing the binary image
3.2. Processing the sample files
4. Generating output
Glossary of OProfile source concepts and types
List of Figures
3.1.
The OProfile buffers