|| ||John Levon <firstname.lastname@example.org>|
|| ||email@example.com, firstname.lastname@example.org|
|| ||OProfile 0.6 released|
|| ||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.
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).
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 :
(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
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 \
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"
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.
to post comments)