OProfile is a powerful system-wide profiler for Linux. And now
with the announcement of the 0.9.8 release, OProfile can also
be used to profile a specific individual process.
Read more at http://oprofile.sf.net.
OProfile 0.9.8 has been released. OProfile is still in alpha,
but has been proven stable for many users.
Incompatibilities with previous release
---------------------------------------
- Support for pre-2.6 kernels has been removed
- Relating to the above, the "--with-kernel-support" configure option is
no longer needed nor valid
- The sample data format has changed (see bug #3309794 below for details)
- The configure.in file has been renamed to configure.ac (should be a
transparent change to users)
New features
------------
- A new 'operf' program is now available that allows non-root users to profile
single processes. 'operf' can also be used for system-wide profiling, but
root authority is required. This capability requires a kernel version of
2.6.31 or greater.
- New Processors Supports
* Tilera tile64
* Tilera tilepro
* Tilera tile-gx
* IBM System z10
* IBM System z196
* Intel Ivy Bridge
* ARMv7 Cortex-A5
* ARMv7 Cortex-A15
* ARMv7 Cortex-A7
Bug fixes
---------
Filed bug reports:
-------------------------------------------------------------------------
| BUG ID | Summary
|-----------|------------------------------------------------------------
| 3483426 | Fix configure on newer Debian and Ubuntu systems when using
| | --enable-gui=qt4
| 3448632 | Make opcontrol --status show session dir
| 3451782 | Fix opimport to not try to import .jo ELF files
| 3400883 | Fix oparchive so a relative path can be passed in with
| | --session-dir option
| 3386923 | Document that 'opannoate -a' needs symbol info
| 3521382 | Fix 'make check' warning treated as error when using newer gcc
| 3448739 | Change "Nr. event lost ..." field in the oprofiled.log to "Nr.
| | samples lost ..."
| 3448699 | Fix how "Nr. non-backtrace samples" from oprofiled.log is
| | calculated
| 3309794 | Change type for sample header mtime field to u64
| 3393079 | Document non-support for event-based profiling in guest
| | environments
| 3470511 | Fix debuginfo processing to handle no symbol info in debuginfo
| | file
| 2573008 | Fix debuginfo processing for ppc64 (incorrect source file/line#
| | info)
| 3405711 | Fix opreport -X so total samples for the binary does not
| | include any module counts
-------------------------------------------------------------------------
Bugs without a filed report (e.g., posted to the list):
---------------
- OProfile fix to pass string of options from opannotate to objdump
- Fix build error on Fedora Rawhide (size_t type needed for bfd.h)
- Fix compile error on Ubuntu 12.10
- Fix build warning on Fedora 17 with gcc 4.7.0
- Fix configure to not alter user variables and remove non-working --with-gcc
option
- Fix opjitconv to not end abnormally when no jit dump directory is found
- Add #include "config.h" before bfd.h (for build error "config.h must be
included before this header")
- Make autogen.sh a bit more discriminating on automake version (fixes problem
on Fedora Rawhide)
- Fix opannotate --assembly to work with prelinked runtime lib and non-prelink
debuginfo
- Discard user context kernel samples for which we have no app_cookie
- Print correct clock speed when using timer mode
- Fix oprofile build warnings when using gcc 4.6.1 or newer
- Fix event name clash in scorpion/scorpionmp
- Fix debuginfo processing in prelink environments
Known problems and limitations
-------------------------
- AMD Instruction Based Sampling (IBS) is not currently supported with the new
operf program. Use the "legacy" opcontrol commands for IBS profiling.
- When using operf to profile multiple events, the absolute number of events
recorded will usually be substantially fewer than expected. This is due
to a bug in the Linux kernel's Performance Events Subsystem that was fixed
sometime between Linux kernel version 3.1 and 3.5.
- If NMI watchdog is not disabled (x86), opcontrol may fail to
allocate the hardware performance counter(s) it needs (bug #1468916).
- Many Alpha ev67 events do not work (bug #931875).