|
Packit Service |
a1973e |
2014-11-13
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 8f524875 RELEASENOTES.txt: Prepare release notes for a 5.4.0 release
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-11-12
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* a8b4613b man/man1/papi_avail.1 man/man1/papi_clockres.1
|
|
Packit Service |
a1973e |
man/man1/papi_command_line.1...: Rebuild the doxygen manpages
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* fbea4897 src/run_tests_exclude.txt: Remove omptough from standard
|
|
Packit Service |
a1973e |
run_tests.sh testing On some platforms (e.g. some AMD machines), if
|
|
Packit Service |
a1973e |
OMP_NUM_THREADS is not set, then this test does not complete in a reasonable
|
|
Packit Service |
a1973e |
time. That is because on these platforms too many threads are spawned inside
|
|
Packit Service |
a1973e |
a large loop.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-11-11
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 23c2705b src/components/bgpm/CNKunit/linux-CNKunit.c
|
|
Packit Service |
a1973e |
src/components/bgpm/IOunit/linux-IOunit.c
|
|
Packit Service |
a1973e |
src/components/bgpm/IOunit/linux-IOunit.h...: Fix number of counters and
|
|
Packit Service |
a1973e |
events for each of the 5 BGPM units as well as emon on BG/Q
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-11-07
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 93c69ded src/linux-timer.c: Patch linux-timer.c to provide cycle counter
|
|
Packit Service |
a1973e |
support on aarch64 (64-bit ARMv8 architecture) Thanks to William Cohen for
|
|
Packit Service |
a1973e |
this patch and the message below: --- The aarch64 has cycle counter available
|
|
Packit Service |
a1973e |
to userspace and this resource should be made available in papi. --- This
|
|
Packit Service |
a1973e |
patch is not tested by the PAPI team (no easily available hardware).
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-11-06
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 038b2f31 src/components/rapl/linux-rapl.c: Extension of the RAPL energy
|
|
Packit Service |
a1973e |
measurements on Intel via msr-safe.
|
|
Packit Service |
a1973e |
(https://github.com/scalability-llnl/msr-safe) msr-safe is a linux kernel
|
|
Packit Service |
a1973e |
module that allows user access to a whitelisted set of MSRs. It is nearly
|
|
Packit Service |
a1973e |
identical in structure to the stock msr kernel module, with the important
|
|
Packit Service |
a1973e |
exception that the "capabilities" check has been removed. The LLNL sysadmins
|
|
Packit Service |
a1973e |
did a security review for the whitelist.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 67e0b3f6 src/components/rapl/tests/rapl_basic.c: Fixed string null
|
|
Packit Service |
a1973e |
termination.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-10-30
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 2a1805ec src/components/perf_event/pe_libpfm4_events.c
|
|
Packit Service |
a1973e |
src/components/perf_event/pe_libpfm4_events.h
|
|
Packit Service |
a1973e |
src/components/perf_event/perf_event.c...: Patch to reduce cost of using
|
|
Packit Service |
a1973e |
PAPI_name_to_code and add list of supported pmu names to papi_component_avail
|
|
Packit Service |
a1973e |
output Thanks to Gary Mohr for this patch and its documentation: --- This
|
|
Packit Service |
a1973e |
patch file contains code to look for either pmu names or component names on
|
|
Packit Service |
a1973e |
the front of event strings passed to PAPI_name_to_code calls. If found the
|
|
Packit Service |
a1973e |
name will be compared to values in each component info structure to see if
|
|
Packit Service |
a1973e |
the component supports this event. If the pmu name or component name does
|
|
Packit Service |
a1973e |
not match the values in the component info structure then there is no need to
|
|
Packit Service |
a1973e |
call this component for this event. If the event string does not contain
|
|
Packit Service |
a1973e |
either a pmu name or a component name then all components will be called.
|
|
Packit Service |
a1973e |
This reduces the overhead in PAPI when converting event names to event codes
|
|
Packit Service |
a1973e |
when either component names or pmu names are provided in the event name
|
|
Packit Service |
a1973e |
string. To support the above checks, there is also code in this patch to add
|
|
Packit Service |
a1973e |
an array of pmu names to the component info structure and modifications to
|
|
Packit Service |
a1973e |
the core and uncore components to save the pmu names supported by each of
|
|
Packit Service |
a1973e |
these components in this new array. This patch also adds code to the
|
|
Packit Service |
a1973e |
papi_component_avail tool to display the pmu names supported by each active
|
|
Packit Service |
a1973e |
component. ---
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-10-28
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* a91db97b src/components/net/linux-net.c src/components/nvml/linux-nvml.c
|
|
Packit Service |
a1973e |
src/components/perf_event/perf_event.c...: This patch file contains
|
|
Packit Service |
a1973e |
additional changes to resolve defects reported by Coverity. Thanks to Gary
|
|
Packit Service |
a1973e |
Mohr for this patch. ------ This patch file contains additional changes to
|
|
Packit Service |
a1973e |
resolve defects reported by Coverity. Mostly these just make sure that
|
|
Packit Service |
a1973e |
character buffers get null terminated so they can be used as C strings.
|
|
Packit Service |
a1973e |
There is also a change in the RAPL component to improve the message to
|
|
Packit Service |
a1973e |
identify why the component may have been disabled. ------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-10-22
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 3f913658 src/ctests/tenth.c: Fix percent error calculation in
|
|
Packit Service |
a1973e |
ctests/tenth.c Thanks to Carl Love for this patch and the following
|
|
Packit Service |
a1973e |
documentation: Do the division first then multiply by 100 when calculating
|
|
Packit Service |
a1973e |
the percent error. This will keep the magnitude of the numbers closer. If
|
|
Packit Service |
a1973e |
you multiply by 100 before dividing you may exceed the size the representable
|
|
Packit Service |
a1973e |
number size. Additionally, by casting the values to floats then dividing we
|
|
Packit Service |
a1973e |
get more accuracy in the calculation of the percent error. The integer
|
|
Packit Service |
a1973e |
division will not give us a percent error less then 1.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* ba5ef24a src/papi_events.csv: PPC64, fix L1 data cache read, write and all
|
|
Packit Service |
a1973e |
access equations. Thanks to Carl Love for this patch and the following
|
|
Packit Service |
a1973e |
documentation: The current POWER 7 equations for all accesses over counts
|
|
Packit Service |
a1973e |
because it includes non load accesses to the cache. The equation was changed
|
|
Packit Service |
a1973e |
to be the sum of the reads and the writes. The read accesses to the two
|
|
Packit Service |
a1973e |
units, can be counted with the single event PM_LD_REF_L1 rather then counting
|
|
Packit Service |
a1973e |
the events to the two LSU units independently. The number of reads to the L1
|
|
Packit Service |
a1973e |
must be adjusted by subtracting the misses as these become writes. Power 8
|
|
Packit Service |
a1973e |
has four LSU units. The same equations can be used since PM_LD_REF_L1 counts
|
|
Packit Service |
a1973e |
across all four LSU units.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 882f5765 src/utils/native_avail.c: This patch file fixes two problems and
|
|
Packit Service |
a1973e |
adds a performance improvement in "papi_native_avail. Thanks to Gary Mohr
|
|
Packit Service |
a1973e |
for this patch and the following information: First it corrects a problem
|
|
Packit Service |
a1973e |
when using the -i or -x options. The code was putting out too many event
|
|
Packit Service |
a1973e |
divider lines (lines with all '-' characters). This has been corrected.
|
|
Packit Service |
a1973e |
Second it improves the results from "papi_native_avail --validate" when being
|
|
Packit Service |
a1973e |
used on SNBEP systems. This system has some events which require multiple
|
|
Packit Service |
a1973e |
masks to be provided for them to be valid. The validate code was showing
|
|
Packit Service |
a1973e |
these events as not available because it did not try to use the event with
|
|
Packit Service |
a1973e |
the correct combination of masks. The fix checks to see if a valid form of
|
|
Packit Service |
a1973e |
the event has not yet been found and if so then it tries the event with
|
|
Packit Service |
a1973e |
specific combinations of masks that have been found to make these events
|
|
Packit Service |
a1973e |
work. It also adds a check before trying to validate the event with a new
|
|
Packit Service |
a1973e |
mask to see if a valid form of the event has already been found. If it has
|
|
Packit Service |
a1973e |
then there is no need to try and validate the event again.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 94985c8a src/config.h.in src/configure src/configure.in...: Fix build error
|
|
Packit Service |
a1973e |
when no fortan is installed Thanks to Maynard Johnson for this patch. Fix up
|
|
Packit Service |
a1973e |
the build mechanism to properly handle the case where no Fortran compiler is
|
|
Packit Service |
a1973e |
installed -- i.e., don't build or install testlib/ftest_util.o or the ftests.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-10-16
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* de05a9d8 src/linux-common.c: PPC64 add support for the Power non
|
|
Packit Service |
a1973e |
virtualized platform Thanks to Carl Love for this patch and the following
|
|
Packit Service |
a1973e |
description: The Power 8 system can be run as a non-virtualized machine. In
|
|
Packit Service |
a1973e |
this case, the platform is "PowerNV". This patch adds the platform to the
|
|
Packit Service |
a1973e |
possible IBM platform types.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 547f4412 src/ctests/byte_profile.c: byte_profile.c: PPC64 add support for
|
|
Packit Service |
a1973e |
PPC64 Little Endian to byte_profile.c Thanks to Carl Love for this patch and
|
|
Packit Service |
a1973e |
the following description: The POWER 8 platform is Little Endian. It uses
|
|
Packit Service |
a1973e |
ELF version 2 which does not use function descriptors. This patch adds the
|
|
Packit Service |
a1973e |
needed #ifdef support to correctly compile the test case for Big Endian or
|
|
Packit Service |
a1973e |
Little Endian. This patch is untested by the PAPI developers (hardware not
|
|
Packit Service |
a1973e |
easily accessible).
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-10-15
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 14f70ebc src/ctests/sprofile.c: PPC64 add support for PPC64 Little Endian
|
|
Packit Service |
a1973e |
to sprofile.c Thanks to Carl Love for this patch and the following
|
|
Packit Service |
a1973e |
description: The POWER 8 platform is Little Endian. It uses ELF version 2
|
|
Packit Service |
a1973e |
which does not use function descriptors. This patch adds the needed #ifdef
|
|
Packit Service |
a1973e |
support to correctly compile the test case for Big Endian or Little Endian.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 6d41e208 src/linux-memory.c: PPC64 sys_mem_info array size is wrong Thanks
|
|
Packit Service |
a1973e |
to Carl Love for this patch and the following description: The variable
|
|
Packit Service |
a1973e |
sys_mem_info is an array of type PAPI_mh_info_t. It is statically declared
|
|
Packit Service |
a1973e |
as size 4. The data for POWER8 is statically declared in entry 4 of the
|
|
Packit Service |
a1973e |
array which is beyond the allocated array. The array should be declared
|
|
Packit Service |
a1973e |
without a size so the compiler will automatically determine the correct size
|
|
Packit Service |
a1973e |
based on the number of elements being initialized. This patch makes the
|
|
Packit Service |
a1973e |
change.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 061817e0 src/papi_events.csv: Remove stray Intel Haswell events from Intel
|
|
Packit Service |
a1973e |
Ivy Bridge presets Thanks to William Cohen for this patch and the following
|
|
Packit Service |
a1973e |
description: 'Commit 4c87d753ab56688acad5bf0cb3b95eae8aa80458 added some
|
|
Packit Service |
a1973e |
events meant for Intel Haswell to the Intel Ivy bridge presets. This patch
|
|
Packit Service |
a1973e |
removes those stray events. Without this patch on Intel Ivy Bridge machines
|
|
Packit Service |
a1973e |
would see messages like the following: PAPI Error: papi_preset: Error finding
|
|
Packit Service |
a1973e |
event L2_TRANS:DEMAND_DATA_RD. PAPI Error: papi_preset: Error finding event
|
|
Packit Service |
a1973e |
L2_RQSTS:ALL_DEMAND_REFERENCES.' This patch was not tested by the PAPI team
|
|
Packit Service |
a1973e |
(no appropriate hardware).
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-10-14
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 8bc1ff85 src/papi_events.csv: Update papi_events.csv to match libpfm
|
|
Packit Service |
a1973e |
support for Intel family 6 model 63 (hsw_ep) Thanks to William Cohen for
|
|
Packit Service |
a1973e |
this patch and its information: 'A recent September 11, 2014 patch (98c00b)
|
|
Packit Service |
a1973e |
to the upstream libpfm split out Intel family 6 model 63 into its own name of
|
|
Packit Service |
a1973e |
"hsw_ep". The papi_events.csv needs to be updated to support that new name.
|
|
Packit Service |
a1973e |
This should have no impact for older libpfms that still identify Intel family
|
|
Packit Service |
a1973e |
6 model 63 as "hswv" and "hsw_ep" map to the same papi presets.'
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 32a8b758 src/papi_events.csv: Support for the ARM X-Gene processor. Thanks
|
|
Packit Service |
a1973e |
to William Cohen for this patch. The events for the Applied Micro X-Gene
|
|
Packit Service |
a1973e |
processor are slightly different from other ARM processors. Thus, need to
|
|
Packit Service |
a1973e |
define those presets for the X-Gene processor. Note: This patch is not
|
|
Packit Service |
a1973e |
tested by the PAPI team because we do not have the appropriate hardware.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 0a97f54e src/components/perf_event/pe_libpfm4_events.c
|
|
Packit Service |
a1973e |
.../perf_event_uncore/peu_libpfm4_events.c src/papi_internal.c...: Thanks to
|
|
Packit Service |
a1973e |
Gary Mohr for the patch --------------------- Fix for bugs in
|
|
Packit Service |
a1973e |
PAPI_get_event_info when using the core and uncore components:
|
|
Packit Service |
a1973e |
PAPI_get_event_info returns incorrect / incomplete information. The errors
|
|
Packit Service |
a1973e |
were in how the code handled event masks and their descriptions so the errors
|
|
Packit Service |
a1973e |
would not lead to program failures, just the possibility of incorrect
|
|
Packit Service |
a1973e |
labeling of output. ---------------------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-10-09
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 77960f71 src/components/perf_event/pe_libpfm4_events.c: Record
|
|
Packit Service |
a1973e |
encode_failed error by setting attr.config to 0xFFFFFFF. This causes any
|
|
Packit Service |
a1973e |
later validate attempts to fail, which is the desired behavior. Note: as of
|
|
Packit Service |
a1973e |
2014/10/09 this has not been thoroughly tested, since a failure case is not
|
|
Packit Service |
a1973e |
known. This patch simply copies a fix that was applied to the
|
|
Packit Service |
a1973e |
perf_event_uncore component.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-09-25
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 00ae8c1e src/components/perf_event_uncore/peu_libpfm4_events.c: Based on
|
|
Packit Service |
a1973e |
Gary Mohr's suggestion. If an event fails when we try to add it
|
|
Packit Service |
a1973e |
(encode_failed), then we note that error by setting attr.config = 0xFFFFFF
|
|
Packit Service |
a1973e |
for that event. Then, if there is a later check to validate this event, the
|
|
Packit Service |
a1973e |
check will correctly return an error.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 3801faaf src/utils/native_avail.c: Adding the NativeAvailValidate patch
|
|
Packit Service |
a1973e |
provided by Gary Mohr. The problem being addresed is that if there were any
|
|
Packit Service |
a1973e |
problems validating event masks, then those problems would result in the
|
|
Packit Service |
a1973e |
entire event being invalid. The desired action was to test each event mask,
|
|
Packit Service |
a1973e |
and if any basic event mask can make the event succeed, then the event should
|
|
Packit Service |
a1973e |
be returned as valid and available. The solution is to create a large buffer
|
|
Packit Service |
a1973e |
and write events and masks into this buffer as they are processed, tracking
|
|
Packit Service |
a1973e |
their validity. At the end go back and mark the validity of the entire
|
|
Packit Service |
a1973e |
event. This matches the standard output of PAPI.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-09-24
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 6abc8196 src/components/emon/README src/components/emon/Rules.emon
|
|
Packit Service |
a1973e |
src/components/emon/linux-emon.c: Emon power component for BG/Q
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-09-23
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 62b9f2a9 .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore.c:
|
|
Packit Service |
a1973e |
Check scheduability of events Patch by Gary Mohr, ------------------- This
|
|
Packit Service |
a1973e |
patch file adds code to the uncore component to check and make sure that the
|
|
Packit Service |
a1973e |
events being opened from an event set can be scheduled by the kernel. This
|
|
Packit Service |
a1973e |
kind of code exists in the core component but was not moved into the uncore
|
|
Packit Service |
a1973e |
component because it was felt that it would not be an issue with uncore.
|
|
Packit Service |
a1973e |
Turns out the kernel has the same kind of issues when scheduling uncore
|
|
Packit Service |
a1973e |
events. The symptoms of this problem will show that the kernel will report
|
|
Packit Service |
a1973e |
that all events in the event set were opened successfully but when trying to
|
|
Packit Service |
a1973e |
read the results one (or more) of the events will get a read failure. Seen
|
|
Packit Service |
a1973e |
in the traces and on stderr (if papi configured with debug=yes) as a "short
|
|
Packit Service |
a1973e |
read" error. The logic is slightly different than what is in the core
|
|
Packit Service |
a1973e |
component because the events in the core component are grouped and the ones
|
|
Packit Service |
a1973e |
in the uncore are not grouped. When events are grouped, you only need to
|
|
Packit Service |
a1973e |
enable/disable and read results on the group leader. But when they are not
|
|
Packit Service |
a1973e |
grouped you need to do these operations on each event in the event set.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-09-19
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 8e6bf887 src/components/cuda/linux-cuda.c
|
|
Packit Service |
a1973e |
src/components/infiniband/linux-infiniband.c
|
|
Packit Service |
a1973e |
src/components/lustre/linux-lustre.c...: Address coverity defects in
|
|
Packit Service |
a1973e |
src/components Thanks Gary Mohr ---------------- This patch file contains
|
|
Packit Service |
a1973e |
fixes for defects reported by Coverity in the /src/components directory.
|
|
Packit Service |
a1973e |
Mostly these changes just make sure that char buffers get null terminated so
|
|
Packit Service |
a1973e |
that when they get used as a C string (they usually do) we will not end up
|
|
Packit Service |
a1973e |
with unpredictable results. A problem has been reported by one of our
|
|
Packit Service |
a1973e |
testers that the lustre component produced very long event names with lots of
|
|
Packit Service |
a1973e |
unprintable garbage in the names. It turns out this was caused by a buffer
|
|
Packit Service |
a1973e |
that filled up and never got null terminated. Then string functions were
|
|
Packit Service |
a1973e |
used on the buffer which picked up the whole buffer and lots more. These
|
|
Packit Service |
a1973e |
changes fixed the problem.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 266c61a4 src/linux-common.c src/papi_hl.c src/papi_internal.c...: Address
|
|
Packit Service |
a1973e |
coverity reported issues in src/ Thanks to Gary Mohr -------------------
|
|
Packit Service |
a1973e |
Changes in this patch file: linux-common.c: Add code to insure that cpu
|
|
Packit Service |
a1973e |
info vendor_string and model_string buffers are NULL terminated strings.
|
|
Packit Service |
a1973e |
Also insure that the value which gets read into mdi->exe_info.fullname gets
|
|
Packit Service |
a1973e |
NULL terminated. This makes it safe to use the 'strxxx' functions on the
|
|
Packit Service |
a1973e |
value (which is done immediately after it is read in). papi_hl.c: Fix call
|
|
Packit Service |
a1973e |
to _hl_rate_calls() where the third argument was not the correct data type.
|
|
Packit Service |
a1973e |
papi_internal.c: Add code to insure that event info name, short_desc, and
|
|
Packit Service |
a1973e |
long_desc buffers are NULL terminated strings. papi_user_events.c: While
|
|
Packit Service |
a1973e |
processing define symbols, insure that the 'local_line', 'name', and 'value'
|
|
Packit Service |
a1973e |
buffers get NULL terminated (so we can safely use 'strxxx' functions on
|
|
Packit Service |
a1973e |
them). Insure that the 'symbol' field in the user defined event ends up NULL
|
|
Packit Service |
a1973e |
terminated. Rearrange code to avoid falling through from one case to the next
|
|
Packit Service |
a1973e |
in a switch statement. Coverity flagged falling out the bottom of a case
|
|
Packit Service |
a1973e |
statement as a potential defect but it was doing what it should.
|
|
Packit Service |
a1973e |
sw_multiplex.c: Unnecessary test. The value of ESI can not be NULL when
|
|
Packit Service |
a1973e |
this code is reached. x86_cpuid_info.c: The variable need_leaf4 is set but
|
|
Packit Service |
a1973e |
not used. The only place it gets set returns without checking its value.
|
|
Packit Service |
a1973e |
The place that checks its value never could have set its value non-zero.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-09-12
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* d72277fc release_procedure.txt: Update release procedure, check buildbot!
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-09-08
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* a0e4f9a7 src/components/perf_event_uncore/perf_event_uncore.c: Uncore
|
|
Packit Service |
a1973e |
component fix: By Gary Mohr, The line that sets exclude_guests in the uncore
|
|
Packit Service |
a1973e |
component is there because it also there in the core component. But when I
|
|
Packit Service |
a1973e |
look at it closer, it is an error in both cases. I will submit a patch to
|
|
Packit Service |
a1973e |
remove them and get rid of some commented out code that no longer belongs in
|
|
Packit Service |
a1973e |
the source. The uncore events do not support the concept of excluding the
|
|
Packit Service |
a1973e |
host or guest os so we should never set either bit. But the core events do
|
|
Packit Service |
a1973e |
support this concept and libpfm4 provides event masks "mg" and "mh" to
|
|
Packit Service |
a1973e |
control counting in these domains. By default if neither is set then libpfm4
|
|
Packit Service |
a1973e |
excludes counting in the guest os, if either "mh" or "mg" is provided as an
|
|
Packit Service |
a1973e |
event mask then it is counted but the other is excluded, and if both are
|
|
Packit Service |
a1973e |
provided then both are counted. So when the code forces the exclude_guest
|
|
Packit Service |
a1973e |
bit to be set it breaks the ability to fully control what will happen with
|
|
Packit Service |
a1973e |
the masks. I did not notice the uncore part of this problem when testing on
|
|
Packit Service |
a1973e |
my SNB system, probably because we use an older kernel which tolerated the
|
|
Packit Service |
a1973e |
bit being set (or maybe because HSW is handled differently).
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-09-02
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 4499fee7 src/papi_internal.c: Thanks to Gary Mohr for the patch
|
|
Packit Service |
a1973e |
--------------------- Fix in papi_internal.c where it was trying to look up
|
|
Packit Service |
a1973e |
the event name. The RAPL component found the event and returned a code but
|
|
Packit Service |
a1973e |
papi_internal.c exited the enum loop for that component but failed to exit
|
|
Packit Service |
a1973e |
the loop that checks all of the components. This caused it to keep looking
|
|
Packit Service |
a1973e |
at other components until it fell out of the outer loop and returned an
|
|
Packit Service |
a1973e |
error. In addition to the actual change, some formatting issues were fixed.
|
|
Packit Service |
a1973e |
---------------------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* f5835c26 src/components/perf_event/perf_event_lib.h: Bump NUM_MPX_COUNTERS
|
|
Packit Service |
a1973e |
for linux-perf Uncore on SNB and newer systems has enough counters to go
|
|
Packit Service |
a1973e |
beyond the 64 array spaces we allocate. This needs a better long term
|
|
Packit Service |
a1973e |
solution. Reported by Gary Mohr --------------------- When running on snbep
|
|
Packit Service |
a1973e |
systems with the uncore component enabled, if papi is configured with
|
|
Packit Service |
a1973e |
debug=yes then the message "Warning! num_cntrs is more than num_mpx_cntrs"
|
|
Packit Service |
a1973e |
gets written to stderr. This happens because the snbep uncore pmu's have a
|
|
Packit Service |
a1973e |
total of 81 counters and PAPI is set to only accept a maximum of 64 counters.
|
|
Packit Service |
a1973e |
This change increases the amount PAPI will accept to 100 (prevents the
|
|
Packit Service |
a1973e |
warning message from being printed). ---------------------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 07990f85 src/ctests/branches.c src/ctests/calibrate.c
|
|
Packit Service |
a1973e |
src/ctests/describe.c...: ctests/ Address coverity reported defects Thanks
|
|
Packit Service |
a1973e |
to Gary Mohr for the patch --------------------------------- he contents of
|
|
Packit Service |
a1973e |
this patch file fix defects reported by Coverity in the directory
|
|
Packit Service |
a1973e |
'papi/src/ctests'. The defect reported in branches.c was that a comparison
|
|
Packit Service |
a1973e |
between different kinds of data was being done. The defect reported in
|
|
Packit Service |
a1973e |
calibrate.c was that the variable 'papi_event_str' could end up without a
|
|
Packit Service |
a1973e |
null terminator. The defects reported in describe.c, get_event_component.c,
|
|
Packit Service |
a1973e |
and krentel_pthreads.c were that return values from function calls were being
|
|
Packit Service |
a1973e |
stored in a variable but never being used. I also did a little clean-up in
|
|
Packit Service |
a1973e |
describe.c. This test had been failing for me on Intel NHM and SNBEP but now
|
|
Packit Service |
a1973e |
it runs and reports that it PASSED. ---------------------------------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-08-29
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 74cb07df src/testlib/test_utils.c: testlib/test_util.c: Check enum return
|
|
Packit Service |
a1973e |
value Addresses an issue found by Coverity. Thanks Gary Mohr,
|
|
Packit Service |
a1973e |
---------------- The changes in this patch file fixes the only defect in the
|
|
Packit Service |
a1973e |
src/testlib directory. The defect reported that the return value from a call
|
|
Packit Service |
a1973e |
to PAPI_enum_cmp_event was being ignored. This call to enum events is to get
|
|
Packit Service |
a1973e |
the first event for the component index passed into this function. It turns
|
|
Packit Service |
a1973e |
out that the function that contains this code is only ever called by the
|
|
Packit Service |
a1973e |
overflow_allcounters ctest and it only calls once and always passes a
|
|
Packit Service |
a1973e |
component index of 0 (perf_event). So I added code to check the return value
|
|
Packit Service |
a1973e |
and fail the test if an error was returned. ----------------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 74041b3e src/utils/event_info.c: event_info utility: address coverity
|
|
Packit Service |
a1973e |
defect From Gary Mohr -------------- This patch corrects a defect reported
|
|
Packit Service |
a1973e |
by Coverity. The defect reported that the call to PAPI_enum_cmp_event was
|
|
Packit Service |
a1973e |
setting retval which was never getting used before it got set again by a call
|
|
Packit Service |
a1973e |
to PAPI_get_event_info. After looking at the code, I decided that we should
|
|
Packit Service |
a1973e |
not be trying to get the next event inside a loop that is enumerating masks
|
|
Packit Service |
a1973e |
for the current event. It makes more sense to break out of the loop to get
|
|
Packit Service |
a1973e |
masks and let the outer loop that is walking the events get the next event.
|
|
Packit Service |
a1973e |
--------------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-08-28
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 62dceb9b src/utils/native_avail.c: Extend 'papi_native_event --validate' to
|
|
Packit Service |
a1973e |
check for umasks.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-08-27
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* a5c2beb2 src/components/perf_event/pe_libpfm4_events.c
|
|
Packit Service |
a1973e |
src/components/perf_event/pe_libpfm4_events.h
|
|
Packit Service |
a1973e |
src/components/perf_event/perf_event.c...: perf_event[_uncore]: switch to
|
|
Packit Service |
a1973e |
libpfm4 extended masks Patch due to Gary Mohr, many thanks.
|
|
Packit Service |
a1973e |
------------------------------------ This patch file contains the changes to
|
|
Packit Service |
a1973e |
make the perf_event and perf_event_uncore components in PAPI use the libpfm4
|
|
Packit Service |
a1973e |
extended event masks. This adds a number of new masks that can be entered
|
|
Packit Service |
a1973e |
with events supported by these components. They include a mask 'u' which can
|
|
Packit Service |
a1973e |
be used control if counting in the user domain should be enabled, a mask 'k'
|
|
Packit Service |
a1973e |
which does the same for the kernel domain, and a mask 'cpu' which will cause
|
|
Packit Service |
a1973e |
counting to only occur on a specified cpu. There are also some other new
|
|
Packit Service |
a1973e |
masks which may work but have not been tested yet.
|
|
Packit Service |
a1973e |
------------------------------------
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-08-20
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* e76bbe66 src/components/perf_event/pe_libpfm4_events.c
|
|
Packit Service |
a1973e |
src/components/perf_event/perf_event.c
|
|
Packit Service |
a1973e |
.../perf_event_uncore/perf_event_uncore.c...: General code cleanup and
|
|
Packit Service |
a1973e |
improved debugging Thanks to Gary Mohr ------------------- This patch file
|
|
Packit Service |
a1973e |
does general code cleanup. It modifies the code to eliminate compiler
|
|
Packit Service |
a1973e |
warnings, remove defects reported by coverity, and improve traces.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-08-11
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* 8f2a1cee src/utils/error_codes.c: error_codes utility: remove internal bits
|
|
Packit Service |
a1973e |
Remove dependency on _papi_hwi_num_errors, just keep calling PAPI_strerror
|
|
Packit Service |
a1973e |
until it fails. We shouldn't be using internal symbols anyways.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-08-04
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* a7136edd src/components/nvml/README: Update nvml README We changed the
|
|
Packit Service |
a1973e |
options to simplify the configure line. Bad information is worse than no
|
|
Packit Service |
a1973e |
information...
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-07-25
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* a37160c1 src/components/perf_event/perf_event.c: perf_event.c: cleanup
|
|
Packit Service |
a1973e |
error messages Thanks to Gary Mohr ------------------- This patch contains
|
|
Packit Service |
a1973e |
general cleanup code. Calls to PAPIERROR pass a string which does not need
|
|
Packit Service |
a1973e |
to end with a new line because this function will always add one. New lines
|
|
Packit Service |
a1973e |
at the end of strings passed to this function have been removed. These
|
|
Packit Service |
a1973e |
changes also add some additional debug messages.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-07-24
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* bf55b6b7 src/papi_events.csv: Update HSW presets Thanks to Gary Mohr
|
|
Packit Service |
a1973e |
------------------- Previously we sent updates to the PAPI preset event
|
|
Packit Service |
a1973e |
definitions to improve the preset cache events on Haswell processors. In
|
|
Packit Service |
a1973e |
checking the latest source, it looks like the L1 cache events changes did not
|
|
Packit Service |
a1973e |
get applied quite right. Here is a patch to the latest source that will make
|
|
Packit Service |
a1973e |
it the way we had intended.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* eeaef9fa src/papi.c: papi.c: Add information to API entry debuging Thanks
|
|
Packit Service |
a1973e |
to Gary Mohr ------------------- This patch contains the results of taking a
|
|
Packit Service |
a1973e |
second pass to cleanup the debug prints in the file papi.c. It adds entry
|
|
Packit Service |
a1973e |
traces to more functions that can be called from an application. It also
|
|
Packit Service |
a1973e |
adds lots of additional values to the trace entries so that we can see what
|
|
Packit Service |
a1973e |
is being passed to these functions from the application.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
2014-07-23
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* ee736151 src/run_tests.sh: run_tests.sh: more exclude cleanups Thanks Gary
|
|
Packit Service |
a1973e |
Mohr ---------------- This patch removes an additional check for Makefiles in
|
|
Packit Service |
a1973e |
the script. The exclude files are now used to prevent Makefiles from getting
|
|
Packit Service |
a1973e |
run by this script. I missed this one when providing the previous patch to
|
|
Packit Service |
a1973e |
make this change.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* c37afa23 src/papi_internal.c: papi_internal.c: change SUBDBG to INTDBG
|
|
Packit Service |
a1973e |
Thanks to Gary Mohr ------------------- This patch contains changes to
|
|
Packit Service |
a1973e |
replace calls to SUBDBG with calls to INTDBG in this source file. This
|
|
Packit Service |
a1973e |
source file should be using the Internal debug macro rather than the
|
|
Packit Service |
a1973e |
Substrate debug macro so that the PAPI debug filters work correctly. These
|
|
Packit Service |
a1973e |
changes also add some new debug calls so that we will get a better picture of
|
|
Packit Service |
a1973e |
what is going on in the PAPI internal layer. There are a few calls to the
|
|
Packit Service |
a1973e |
SUBDBG macro that are in code that I have modified to add support for new
|
|
Packit Service |
a1973e |
event level masks which are not converted by this patch. They will be
|
|
Packit Service |
a1973e |
corrected when the event level mask patch is provided.
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
* e43b1138 src/utils/native_avail.c: native_avail.c: Bug fixes and updates
|
|
Packit Service |
a1973e |
Thanks to Gary Mohr -------------------------------------------------- This
|
|
Packit Service |
a1973e |
patch fixes a couple of problems found in the papi_native_avail program.
|
|
Packit Service |
a1973e |
First change fixes a problem introduced when the -validate option was added.
|
|
Packit Service |
a1973e |
This option causes events to get added to an event set but never removes
|
|
Packit Service |
a1973e |
them. This change will remove them if the add works. This change also fixes
|
|
Packit Service |
a1973e |
a coverity detected error where the return value from PAPI_destroy_eventset
|
|
Packit Service |
a1973e |
was being ignored. Second change improves the delimitor check when
|
|
Packit Service |
a1973e |
separating the event description from the event mask description. The
|
|
Packit Service |
a1973e |
previous check only looked for a colon but some of the event descriptions
|
|
Packit Service |
a1973e |
contain a colon so descriptions would get displayed incorrectly. The new
|
|
Packit Service |
a1973e |
check finds the "masks:" substring which is what papi inserts to separate
|
|
Packit Service |
a1973e |
these two descriptions. Third change adds code to allow the user to enter
|
|
Packit Service |
a1973e |
events of the form pmu:::event or pmu::event when using the -e option in the
|
|
Packit Service |
a1973e |
program.
|
|
Packit Service |
a1973e |
|