LWN.net Logo

OProfile 0.6 released

From:  John Levon <levon@movementarian.org>
To:  oprofile-list@lists.sf.net, editor@lwn.net
Subject:  OProfile 0.6 released
Date:  Mon, 28 Jul 2003 16:56:41 +0100


OProfile is a powerful system-wide source profiler for Linux.

OProfile 0.6 has been released. OProfile is still in alpha,
but has been proven stable for many users.

Release notes
-------------

For 2.2 kernels, the module must be compiled as the same user
that owns the kernel source tree.
 
nosmp is not supported in kernels before 2.4.10 (bug #463087).

The pre-emptable kernel option is not supported in 2.4 (bug #478516).
 
Power management on laptops can be incompatible with OProfile in 2.4 (bug #554927).

New features
------------

opcontrol has a new way of specifying performance counter events. Instead of:

opcontrol --ctr0-event=CPU_CLK_UNHALTED --ctr0-count=30000

the new form looks like :

opcontrol --event=CPU_CLK_UNHALTED:30000

(There is also a full form CPU_CLK_UNHALTED:30000:0:1:1 for specifying unit mask
and kernel/user counting).

The hardware counters are automatically allocated as needed.

opcontrol also accepts the "--option blah" form and has short options for some
common operations.

The post-profiling analysis tools have been massively reworked. op_time and
oprofpp have been replaced by a single tool called opreport. This allows a
high level of flexibity in selecting which results to profile, for example :

opreport --symbols --exclude-symbols boring_function --threshold=5% --debug-info \
	event:DATA_MEM_REFS session:test --merge lib \
	image:/usr/bin/mytest,/usr/lib/libmytestlib.so

op_to_source has been replaced by a similar tool called opannotate, and the
gprof output ability of oprofpp is now performed by opgprof.

Symbols with no samples are no longer output in the results, and the default
sort order has changed so that higher numbers are at the top. By default,
short filenames (basename of the file) are shown instead of the full paths.
Simple demangling is done by default. Dependent images such as libraries
and kernel modules using the --separate option are now shown by default
(the older tools required the -k option).

The new code is also significantly faster.

In general, the new tools can be used in a similar fashion to the old ones :

	"op_time -r"        -> "opreport -x"
	"op_time -rk"       -> "opreport"
	"op_time -kl"       -> "opreport -l"
	"oprofpp -kl ./app" -> "opreport -l ./app"
	etc.

Bug fixes
---------

Handling of sample counts in sections with no symbols such as .plt is now
more accurate in reporting the source of the sample.

Some unit mask description fixes.

The GUI now works properly with 2.5 timer interrupt mode.

opcontrol --save errors out properly if there is no current session.

Fixed reading of 2.5 kernel's module information when unloading is disabled.

Pretty printing of the chosen unit mask values has been fixed.


(Log in to post comments)

Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds