File Release Notes and Changelog
Release Name: 0.9.4
Notes:
OProfile is a powerful system-wide profiler for Linux. Read
more at http://oprofile.sf.net
OProfile 0.9.4 has been released. OProfile is still in alpha,
but has been proven stable for many users.
New features
------------
OProfile now supports profiling Java applications. See Section 1.4
"Installation" in the user manual for instructions on how to build
OProfile so that it includes this support.
OProfile also includes a framework for adding support for profiling
other just-in-time (JIT) compiled languages. A new manual titled
"OProfile JIT agent developer guide" is provided to aid developers.
Added Xen support for IA64
Added AVR32 support
Add '--root' option to opreport which act as a replacement (a prefix)
for the / fs
Performance improvement for 'opreport --xml --details'.
OProfile tends to output obscure error message. Some of these have been fixed.
Changes required to build with gcc 4.3
Bug fixes
---------
Fix sym_offset calculation bug, seen on 64 bit systems with code mapped
with an address >4G
Fix opcontrol's calculation of kernel address range to include code found
in sections other than just .text
Fix opcontrol's short forms of --list-events (-l) and --dump (-d) so they
work for non-root users
Fix MMCR values and counter-to-event mappings on a few 970MP groups
Turn off profiling in hypervisor on 970MP to prevent lost interrupts
Update family10 events and unit_masks files to match the BIOS and Kernel
Developer's Guide (current, as of May 20, 2008)
Since --xml is not compatible with the --sort option, we warned against
the use of --sort, but didn't reset the sort options to default. This is
now fixed.
Fix silent failure of oprof_start for when a counter is missing (e.g, NMI
watchdog is up)
Change opcontrol to use "-SIG" instead of "-s SIG" since Busybox's
implementation of "kill" doesn't understand the "-s SIG" option
Fix 'opannotate -s' to work with inlined code
Update POWER6 event files (add new event groupings; make some fixes to others)
Fix "Dangling ESCAPE CODE" error that can occur on Cell BE SPE profiling
Fix opreport for Cell BE SPE profiles to attribute samples to dynamically
generated call stubs executed from SPE stack (for example, I/O calls to
the libc library)
Fix loop in 'opcontrol --dump' code when using --session-dir on a network
drive (clock issues)
Fix problem with 'oparchive --list-files' that can occur if file doesn't exist
Fix user/kernel domain profiling switches for ppc64 architectures
Fix the bfd_get_synthetic_symtab check in m4 macro to work correctly with
'--with-binutils' configure option
Fix ARM big-endian syscall
bug #1820202, differential profile broken in 0.9.3, is fixed
bug #1717298, mips events have incorrect id numbers, is fixed, all event
number > 9 was incorrectly setup
bug #1564920, opcontrol does not check if objdump exists is fixed, we error
out and pinpoint the right error now
bug #1819350, oparchive doesn't work with kernel module, is fixed (need another related fix, if you read that I forget about that, ping me please -- phe)
bug #1828566, --xml and -t and callgraph now output symboldata for all
caller/callees
bug #1930788, opreport error: basic_string::erase
Allow performance counter allocation to work even when some performance
counters are already reserved (e.g. by nmi watchdog)
Known problems
--------------
When using callgraph profiling, it's possible that invalid sample
files are created (bug #1685267).
Many Alpha ev67 events do not work (bug #931875).
A few Pentium IV events are not supported (bug #841099).
For 2.2 kernels, the module must be compiled as the same user
that owns the kernel source tree.
With an AMD64 kernel, OProfile must be built in 64 bit mode due to lack
of kernel support.
opreport -c gives strange output for binaries without symbols.
Callgraph output for the new JIT support is incorrect. See Chapter 4,
section 2.3.2 of OProfile user manual.
When using the JVMPI agent to profile Java code, the following error
is printed by the agent if the JVM moves objects in the heap:
"Error: Cannot find class for compiled method"
Workaround: If your JVM is 1.5, then use JVMTI agent instead of JVMPI agent.
If your JVM is pre-1.5, see oprofile-list for a patch.
Changes: