oprofile Log

Commit Date  
[e08be6] by Maynard Johnson Maynard Johnson

Bump OPD_VERSION to correspond with sample format change (see commit 1be0be0f)

The sample header mtime field was changed to u64 (see bug#3309794), thus
the OPD_VERSION must be incremented.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-07 18:02:20 Tree
[2c3df9] by Carl Love Carl Love , pushed by Maynard Johnson Maynard Johnson

Oprofile, operf: Expanded error message when running multiple operf sessions

As a non-root user, you can only run one session of operf at a time. The
current error message does not fully explain all the possible causes for operf
not being able to run. This patch adds an additional explanation as to the
possible cause for operf not being able to run.

Signed-off-by: Carl Love <cel@us.ibm.com>

2012-08-07 15:29:29 Tree
[fc15c7] by Maynard Johnson Maynard Johnson

Fix configure on newer Debian and Ubuntu systems when using --enable-gui=qt4

This problem was reported in oprofile bug #3483426. The resolution for
the bug was proposed by someone with a SourceForge user ID of "xypron".

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-07 14:30:30 Tree
[909011] by Maynard Johnson Maynard Johnson

Add new configure.ac file

The previous commit to rename configure.in to configure.ac was
not completely done correctly, and the new configure.ac file
was not added to the index to be committed. This commit adds
the new file.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-07 12:02:37 Tree
[d11963] by Maynard Johnson Maynard Johnson

Rename configure.in to configure.ac to follow autotools guildlines

In the June 2012 announcement of the release of Automake 1.12.1 (see
the following statement was made:

* WARNING: Future backward-incompatibilities!

- Starting from either the next minor version (1.12.2) or the next major
version (1.13), Automake will start warning if 'configure.in' is used
instead of 'configure.ac' as the Autoconf input. Future versions of
Automake will drop support for 'configure.in' altogether.

This oprofile commit renames our configure.in to configure.ac.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-07 11:58:26 Tree
[10a636] by Maynard Johnson Maynard Johnson

Make opcontrol --status show session dir

For bug #3448632

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-06 22:24:03 Tree
[9a8869] by Maynard Johnson Maynard Johnson

Fix opimport to not try to import .jo ELF files

If JIT profiling was done on the target system (e.g., passing
'-agentlib:jvmti_oprofile' to the JVM), then a synthesized ELF
file named "<pid>.jo" will be created for each JVM that was profiled,
and this file will be stored in the samples directory. However, we
do no want opimport to treat such files as sample data files, because
it may corrupt them and make them unreadable for when opreport tries
to get symbol information from it.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-06 22:03:14 Tree
[422137] by Maynard Johnson Maynard Johnson

Fix unit mask handling (including 'extra' bits) in operf

This patch handles OR'ing in the unit mask values (and,
where needed, the inv/edge/any/cmask values) into the
event code that is passed to perf_event_open.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-06 21:03:36 Tree
[bd140d] by Carl Love Carl Love , pushed by Maynard Johnson Maynard Johnson

Oprofile, opreport: fix to pass string of options from opannotate to objdump

Currently when passing a quoted string of two or more options from
opannotate to objdump, the objdump command fails. The issue is when
an argument string passed to exec_command contains spaces.
This patch takes the quoted string of options to pass to objdump and
breaks the list of options up into individual arguments. The objdump_params
is then updated so that there is one argument in each element of the vector
rather than string elements that may contain spaces.

This patch also updates the man page with examples of how to pass options
to the objdump from the opreport command.

Signed-off-by: Carl Love <cel@us.ibm.com>

2012-08-06 19:26:38 Tree
[3fedcd] by William Cohen William Cohen , pushed by Maynard Johnson Maynard Johnson

In Fedora rawhide opjitconver/opjitconv.c failed to build because
<bfd.h> include needed the size_t type. This type is available from
<stddef.h>. Corrected the order of the includes, so <stddef.h>
provids the size_t type for <bfd.h>

Signed-off-by: William Cohen <wcohen@redhat.com>

2012-08-06 19:08:23 Tree
[f0a6ef] by Antonio Rosales Antonio Rosales , pushed by Maynard Johnson Maynard Johnson

Fix compile error on Ubuntu 12.10

This is related to an earlier fix made under commit #
0fa5fc43ca2004546864051a584367a50413f190. Apparently
a newer compiler finds yet another file that required
our config.h to be included prior to any system header

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-06 14:21:07 Tree
[44b633] by Maynard Johnson Maynard Johnson

Cleanup verbose variable usage in operf for easier debugging

This patch removes the "perf_events" verbose option which had
been used to enable debugging for both the recording phase of
profiling (where profile data from the kernel is being read by
the operf-record process) and the conversion phase. Instead,
two new distinct verbose options are introduced: "record" and

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-06 00:45:54 Tree
[021390] by Maynard Johnson Maynard Johnson

Add a new option to operf to do conversion to oprofile format after profiling is done

The profile data read from the perf_events kernel has to be converted to OProfile
format for the post-processing tools (e.g., opreport). By default, this conversion
is done on-the-fly during profling using a pipe. This method involves starting an
additional operf process that reads the data fed into the pipe by the operf-record
process. This additional process interprets the perf_events data and does the
conversion to OProfile format, persisting the ususal oprofile sample data files in
<session-dir>/samples/current. When operf is run in single application mode, the
extra overhead of the conversion process running during profiling time is not even
recorded, and thus is not easily noticeable. However, when doing a system-wide
profile, operf overhead can be substantial (easily over 6% on a busy system), and
the samples for operf *are* noticeable in the system-wide report.

This patch introduces the "--lazy-conversion" option which directs operf to write
the perf_events profile data to a temporary file during profiling. Then, after
profiling is done, the data in the temporary file is converted to OProfile format.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-06 00:44:22 Tree
[2af280] by Maynard Johnson Maynard Johnson

Fix operf profiling of forked processes

When an application being profiled by operf does a fork, and where
that forked process does *not* do an exec after the fork, any work
performed by the forked process was not being profied. This patch
addresses that problem.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-08-06 00:42:50 Tree
[3250f8] by Carl Love Carl Love , pushed by Maynard Johnson Maynard Johnson

operf: print lost sample warning only if lost samples exceeds threshold

Currently a warning is printed if there are any lost samples when collecting
data using the operf tool. This patch changes the code to print the warning
when the total number of lost samples, for whatever reason, exceeds a
threshold of the total number of samples. Initially, the threshold has been
set to 0.01% of the total number of samples.

Signed-off-by: Carl Love <cel@us.ibm.com>

2012-08-03 14:38:13 Tree
[b12f64] by Maynard Johnson Maynard Johnson

Change pp tools to abort if <cur_dir>/oprofile_data exists, but no samples found

In commit 01c7ce945cfe835b908c5f4f8c1125e65302b000 on July 3, 2012,
a change was made to the post-processing tools to look first in
<cur_dir>/oprofile_data; then, if no samples are found there,
the tool should fall back to the "standard" /var/lib/oprofile
session-dir. I've come the conclusion that this is not proper
behavior. For example, a user may run operf using some event that
never occurs during the profiling run, and, thus, no samples would
be stored in <cur_dir>/oprofile_data. But if that user then ran
opreport and there happened to be some old profile data in
/var/lib/oprofile, that old profile data would be displayed in
the report.

This new patch changes the behavior as follows:
The post-processing analysis tools will search for samples in
<current_dir>/oprofile_data first. If that directory exists
but has no samples, then the usual "No sample file found"
message is displayed. On the other hand, if that directory
does not exist, the post-processing tools use the standard
session-dir of /var/lib/oprofile. Also, the message that
indicates the session-dir being used will be displayed
whether or not samples are found so that users can see
clearly where the pp tool was looking for samples.

This patch also makes a small change in the "No sample file found"
message relating to the use of 'opcontrol --dump', which is only
appropriate when using legacy profiling versus operf profiling.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-31 17:05:56 Tree
[0cb1a9] by Maynard Johnson Maynard Johnson

Remove extraneous debugging cerr from previous commit

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-26 16:12:13 Tree
[d3c656] by Maynard Johnson Maynard Johnson

Fix operf to read unit mask in hex and document unit mask spec requirementes

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-26 16:02:39 Tree
[4747a7] by Maynard Johnson Maynard Johnson

Fix errors found by coverity in new and changed code in perf_events port

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-25 21:27:39 Tree
[2530d6] by Maynard Johnson Maynard Johnson

Fix warning messages when building on Ubuntu 11.10

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-25 16:20:40 Tree
[b27671] by Maynard Johnson Maynard Johnson

Fix build warning on Fedora 17 with gcc 4.7.0

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-24 19:18:30 Tree
[67e6e2] by Maynard Johnson Maynard Johnson

Fix previous commit that broke non-ppc64 arch builds

The previous commit that added the capability for ppc64
architecture to use either version 3 or version 4 libpfm
had a bug in it that caused non-ppc64 builds to break.
This patch fixes that problem.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-24 18:43:34 Tree
[2a51bc] by Maynard Johnson Maynard Johnson

Allow libpfm4 to be used by ppc64 for obtaining event code

The ppc64 architecture oprofile event codes are not the same
as are needed for perf_events, so there is ppc64-specific
code to use libpfm to obtain the correct code to pass to
perf_event_open. The libpfm API has undergone a lot of
changes from version 3 to version 4, and some of the version 3
functions have been removed, replaced, deprecated, etc.
This patch detects which version of libpfm is installed
and #define's some macros so that the ppc64-specific code
can be built with the appropriate functions.

Note that at this time, this patch affects *only* the
ppc64 architecture.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-24 18:06:13 Tree
[05b1fb] by Maynard Johnson Maynard Johnson

Fix 'make check' warning treated as error when using newer gcc

A gcc 4.7.1 reports the following error when running 'make check':

../../../oprofile.git/libutil++/tests/cached_value_tests.cpp: In function \u2018bool {anonymous}::check_throw(const cached_value<bool>&)\u2019:
../../../oprofile.git/libutil++/tests/cached_value_tests.cpp:25:8: error: variable \u2018foo\u2019 set but not used [-Werror=unused-but-set-variable]

This patch fixes this problem.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-24 12:28:07 Tree
[152be3] by Maynard Johnson Maynard Johnson

Make git builds use -Werror and fix resulting warning message in operf.cpp

When I merged the perf-events branch, I forgot to change the
"AM_INIT_AUTOMAKE(oprofile, 0.9.8_perf_events)" to
"AM_INIT_AUTOMAKE(oprofile, 0.9.8git)" so that git builds
would use -Werror. Changing this resulted in one warning message
treated as an error due to an unused variable in pe_profiling/operf.cpp.
This patch fixes this warning, along with changing configure.in
to use "0.9.8git".

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-07-24 11:41:17 Tree
Older >

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks