oprofile Log


Commit Date  
[6ee980] (19.6 kB) by Maynard Johnson Maynard Johnson

Fix Coverity errors found on May 20, 2013 git snapshot

Coverity identified the following errors on scans run from May 7 through
May 20, 2013:

Type,Category,File,Function
Wrapper object use after free,Memory - illegal accesses,/agents/jvmpi/jvmpi_oprofile.cpp,compiled_method_load(JVMPI_Event *)
Unchecked return value,Error handling issues,/daemon/opd_mangling.c,opd_open_sample_file
Dereference after null check,Null pointer dereferences,/daemon/opd_sfile.c,sfile_hash
Uninitialized scalar field,Uninitialized members,/gui/oprof_start_config.cpp,config_setting::config_setting()
Division or modulo by zero,Integer handling issues,/libdb/db_stat.c,odb_hash_stat
Resource leak,Resource leaks,/libop/op_cpu_type.c,_auxv_fetch
Resource leak,Resource leaks,/libop/op_cpu_type.c,fetch_at_hw_platform
Negative array index read,Memory - illegal accesses,/libop/op_events.c,_is_um_valid_bitmask
Write to pointer after free,Memory - corruptions,/libop/op_events.c,read_events
Read from pointer after free,Memory - illegal accesses,/libop/op_events.c,_is_um_valid_bitmask
Dereference after null check,Null pointer dereferences,/libop/op_mangle.c,op_mangle_filename
Dereference after null check,Null pointer dereferences,/libop/op_mangle.c,op_mangle_filename
Time of check time of use,Security best practices violations,/libopagent/opagent.c,op_open_agent
Improper use of negative value,Integer handling issues,/libperf_events/operf_counter.cpp,operf_record::setup()
Double free,Memory - corruptions,/libperf_events/operf_counter.cpp,operf_record::setup()
Uninitialized pointer read,Memory - illegal accesses,/libperf_events/operf_counter.cpp,<unnamed>::_get_perf_event_from_file(mmap_info &)
Unchecked return value,Error handling issues,/libperf_events/operf_mangling.cpp,"operf_open_sample_file(odb_t *, operf_sfile *, operf_sfile *, int, int)"
Using invalid iterator,API usage errors,/libperf_events/operf_process_info.cpp,operf_process_info::try_disassociate_from_parent(char *)
Non-array delete for scalars,Memory - illegal accesses,/libregex/op_regex.cpp,"<unnamed>::op_regerror(int, const re_pattern_buffer &)"
Resource leak,Resource leaks,/libutil++/op_bfd.cpp,"op_bfd::op_bfd(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&, const string_filter &, const extra_images &, bool &)"
Explicit null dereferenced,Null pointer dereferences,/opjitconv/create_bfd.c,fill_symtab
Resource leak,Resource leaks,/opjitconv/opjitconv.c,_cleanup_jitdumps
Use of untrusted string value,Insecure data handling,/opjitconv/opjitconv.c,main
Resource leak,Resource leaks,/pe_profiling/operf.cpp,_get_cpu_for_perf_events_cap()
Dereference null return value,Null pointer dereferences,/pe_profiling/operf.cpp,_process_session_dir()
Incorrect deallocator used,API usage errors,/pe_profiling/operf.cpp,_process_events_list()

===============================

This patch fixes those errors.

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

2013-05-28 13:19:25 View
Download
[a07eab] (19.3 kB) by Maynard Johnson Maynard Johnson

Fix IBM architected events to work on IBM POWER7+

In situations where oprofile is running on a kernel that does not
have full native support for an ISA 2.07-based ppc64 processor,
but does have the base level architected support, oprofile userspace
code uses the auxiliary vector of the operf program and compares
AT_PLATFORM and AT_BASE_PLATFORM values to see whether or not it
should use the new ppc64 architected events. However, if
AT_PLATFORM="power7" and AT_BASE_PLATFORM="power7+", the oprofile
code was erroneously identifying this as a situation where the
architected events should be used. This patch fixes that problem.

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

2013-05-20 14:15:53 View
Download
[9690fb] (18.9 kB) by Maynard Johnson Maynard Johnson

Revert "Add support for architected events for IBM ppc64 architecture"

This reverts commit d2ff34dbeb198106a7de6189b467b097736b089a.

Commit ID d2ff34d had an incorrect commit message

Reverting commit d2ff34d. Will re-apply with correct commit
message.

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

2013-05-20 14:12:39 View
Download
[d2ff34] (19.3 kB) by Maynard Johnson Maynard Johnson

Add support for architected events for IBM ppc64 architecture

The Power ISA 2.07 was published at http://power.org/. This ISA
formally defines base performance monitoring facilities which
must be provided by any processor implementation of the ISA.
Specific implementations may provide additional features, but
must include the standard architected features.

This patch creates a generic ppc64 cpu type called
"ppc64/architected_events_v1" that has a list of events which
are defined in the ISA 2.07 performance monitoring unit
architecture section. This new generic type will only be
supported by operf. It will *not* be supported by the legacy
oprofile kernel driver and opcontrol-based profiler. This
new cpu type can be used in situations where oprofile is running
on a kernel that does not have full native support for an
ISA 2.07-based ppc64 processor, but does have the base level
architected support. OProfile userspace code detects such a
situation by inspecting the auxiliary vector of the operf program
and comparing AT_PLATFORM and AT_BASE_PLATFORM values (defined
in elf.h).

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

2013-05-18 00:07:53 View
Download
[6dc5d3] (18.9 kB) by Maynard Johnson Maynard Johnson

Add support for architected events for IBM ppc64 architecture

The Power ISA 2.07 was published at http://power.org/. This ISA
formally defines base performance monitoring facilities which
must be provided by any processor implementation of the ISA.
Specific implementations may provide additional features, but
must include the standard architected features.

This patch creates a generic ppc64 cpu type called
"ppc64/architected_events_v1" that has a list of events which
are defined in the ISA 2.07 performance monitoring unit
architecture section. This new generic type will only be
supported by operf. It will *not* be supported by the legacy
oprofile kernel driver and opcontrol-based profiler. This
new cpu type can be used in situations where oprofile is running
on a kernel that does not have full native support for an
ISA 2.07-based ppc64 processor, but does have the base level
architected support. OProfile userspace code detects such a
situation by inspecting the auxiliary vector of the operf program
and comparing AT_PLATFORM and AT_BASE_PLATFORM values (defined
in elf.h).

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

2013-05-17 13:45:53 View
Download
[f8dd71] (16.4 kB) by Suravee Suthikulpanit Suravee Suthikulpanit

Add Support for AMD Generic Performance Events

AMD generic performance events are a small set of events which are generally available across several
AMD processor families. PERF has already provided supports for generic performance counters regardless
of the processor family. This will allow operf to work as soon as PERF able to supports the performance
counters, and does not have to wait for the more complete family-specific events and unit_masks files
to be added to OProfile.

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

2013-02-08 16:36:51 View
Download
[e4d8c3] (16.3 kB) by Andreas Krebbel Andreas Krebbel , pushed by Maynard Johnson Maynard Johnson

Add support for IBM zEnterprise EC12 (zEC12)

This patch adds support for the latest release of the
IBM mainframe series - the IBM zEnterprise EC12 (zEC12).

The CPU measurement facility didn't change. So only the new CPU type
has to be tolerated.

Signed-off-by: Andreas Krebbel <krebbel@linux.vnet.ibm.com>

2013-01-11 14:24:47 View
Download
[866abb] (16.2 kB) by Andi Kleen Andi Kleen , pushed by Maynard Johnson Maynard Johnson

Add the Haswell client event lists and model numbers

Also added simple support for PEBS events with perf_events
(ignored with the old driver) and include the Haswell PEBS events in the list.
And fixed "any" support.

v2: Regenerate events table with some improvements.
Address review feedback.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

2012-11-08 01:14:47 View
Download
[7e788a] (16.1 kB) by Maynard Johnson Maynard Johnson

Revert "Add the Haswell client event lists and model numbers"

This reverts commit 6d48ffa1e51e49ae3d3a5757baa7e2ed0d87d128.

Revert this commit since author info was wrong.

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

2012-11-08 01:10:44 View
Download
[6d48ff] (16.2 kB) by Maynard Johnson Maynard Johnson

Add the Haswell client event lists and model numbers
I also added simple support for PEBS events with perf_events
(ignored with the old driver) and include the Haswell PEBS events in the list.
And fixed "any" support.

v2: Regenerate events table with some improvements.
Address review feedback.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

2012-11-08 00:57:34 View
Download
[422137] (16.1 kB) 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 View
Download
[3f1b50] (16.0 kB) by Will Deacon Will Deacon , pushed by Maynard Johnson Maynard Johnson

Update support for ARMv7 processors

- update architected ARMv7 event descriptions
- add support for Cortex-A5 ARMv7 PMU implementations
- add support for Cortex-A7 ARMv7 PMU implementations
- add support for Cortex-A15 ARMv7 PMU implementations

The part of this patch that adds support for new ARM PMU
implementations also updates the new function in
libop/op_cpu_type that was added in the perf-events branch
so that these new processors can be used with operf.
For this reason, this patch is currently only being applied
to the perf-events branch, so support for the new ARM processors
won't be available in oprofile "mainline" until we merge the
perf-events branch with the master branch.

Signed-off-by: Will Deacon <will.deacon@arm.com>

2012-07-02 13:47:17 View
Download
[6316db] (15.6 kB) by Suravee Suthikulpanit Suravee Suthikulpanit , pushed by Maynard Johnson Maynard Johnson

Add support for AMD and older Intel processors to operf

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Andi Kleen <andi@firstfloor.org>

2012-06-28 15:50:59 View
Download
[e98a05] (13.1 kB) by Gergely Kis Gergely Kis , pushed by Maynard Johnson Maynard Johnson

Detect MIPS CPUs based on the "cpu model" field of /proc/cpuinfo

Signed-off-by: Gergely Kis <gergely@homejinni.com>

2012-06-26 12:47:28 View
Download
[6d652b] (11.0 kB) by Paul Guo Paul Guo , pushed by Maynard Johnson Maynard Johnson

Add TILE support to operf

Signed-off-by: Paul Guo <ggang@tilera.com>

2012-06-19 20:15:27 View
Download
[69442b] (10.4 kB) by Will Deacon Will Deacon , pushed by Maynard Johnson Maynard Johnson

Factor out /proc/cpuinfo scanning and add support for ARM to operf

This patch adds support for parsing the cpu type from /proc/cpuinfo on
ARM platforms and hooks this into __get_cpu_type_alt_method so that
perf-events can be used as the backend. The previous /proc/cpuinfo parsing
code used by ppc64 to identify the current CPU type is useful for other
architectures that don't have a userspace cpuid instruction (for example, ARM),
so this patch factors out the /proc/cpuinfo reading code to be usable for
ARM support.

Signed-off-by: Will Deacon <will.deacon@arm.com>

2012-06-15 18:36:21 View
Download
[493c34] (7.3 kB) by Andi Kleen Andi Kleen , pushed by Maynard Johnson Maynard Johnson

This adds the event list for Intel IvyBridge and the model number
for the current IvyBridge systems

Signed-off-by: Andi Kleen <ak@linux.intel.com>

2012-05-25 15:07:36 View
Download
[73a0c8] (8.8 kB) by Maynard Johnson Maynard Johnson

Initial code drop for perf-events branch

2012-01-13 23:27:09 View
Download
[d29bec] (7.2 kB) by Andreas Krebbel Andreas Krebbel , pushed by Maynard Johnson Maynard Johnson

Fix up s390 implementation to match what was accepted upstream in the kernel

2011-12-13 22:06:16 View
Download
[710138] (6.8 kB) by Andreas Krebbel Andreas Krebbel , pushed by Maynard Johnson Maynard Johnson

S/390: Enhance the user space tools for System z hardware sampling

2011-11-03 16:23:53 View
Download
[bb738f] (6.7 kB) by Paul Guo Paul Guo , pushed by Maynard Johnson Maynard Johnson

Add support for Tilera tile64/tilepro/tile-gx processor family

2011-10-19 16:02:42 View
Download
[f5e31f] (6.6 kB) by William Cohen William Cohen

Ensure that op_get_cpu_type() closes the file

A Coverity scan of the OProfile code showed that op_get_cpu_type() did
not close the file in the case where the function opened the file, but
was unable to read from the file.

2011-05-27 20:52:55 View
Download
[b0e23e] (6.5 kB) by Suravee Suthikulpanit Suravee Suthikulpanit

Add an event list for Sandy Bridge. Modify oprofile to detect Sandy Bridges.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

2011-05-17 23:02:46 View
Download
[cbd834] (6.4 kB) by Sheetal Sahasrabudhe Sheetal Sahasrabudhe , pushed by Maynard Johnson Maynard Johnson

Add support for Qualcomm Scorpion and ScorpionMP CPU

2011-03-14 19:34:58 View
Download
[4f10a7] (6.3 kB) by Maynard johnson Maynard johnson

Add support for Intel Westmere micro-architecture processors

2010-12-16 17:28:54 View
Download
Older >