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).