|
Packit |
577717 |
2013-08-02
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 6b62d586 man/man1/papi_avail.1 man/man1/papi_clockres.1
|
|
Packit |
577717 |
man/man1/papi_command_line.1...: Update the manpages for a pending 5.2
|
|
Packit |
577717 |
release. New pages for PAPI[F]_epc and papi_version.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1ae08835 src/linux-common.c: try to properly detect number of sockets Use
|
|
Packit |
577717 |
totalcpus rather than ncpu in the calculation. This change fixes things on a
|
|
Packit |
577717 |
Sandybridge-EP machine. We should maybe find a more robust way to detect
|
|
Packit |
577717 |
this.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 79c37fbf .../perf_event_uncore/tests/perf_event_uncore.c
|
|
Packit |
577717 |
.../tests/perf_event_uncore_multiple.c: perf_event_uncore: have tests skip if
|
|
Packit |
577717 |
component disabled rather than fail
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 638ccf6b .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore:
|
|
Packit |
577717 |
change order of uncore detection logic This way it will report an error of
|
|
Packit |
577717 |
"no uncore found" before it reports "not enough permissions". That way a
|
|
Packit |
577717 |
user won't waste time getting permissions only to find out they didn't have
|
|
Packit |
577717 |
an uncore anyway.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 30582773 src/components/perf_event/pe_libpfm4_events.c: perf_event: fix
|
|
Packit |
577717 |
papi_native_avail output A recent change of mine that added stricter error
|
|
Packit |
577717 |
checking for libpfm4 event lookup broke event enumeration on perf_event,
|
|
Packit |
577717 |
specifically papi_native_avail output. libpfm4 will return an error on some
|
|
Packit |
577717 |
events if no UMASK or improper UMASK is supplied, but papi_native_avail
|
|
Packit |
577717 |
always wants to print the root event and umasks separately. this temporary
|
|
Packit |
577717 |
fix just ignores libpfm4 umask errors; we might in the future want to
|
|
Packit |
577717 |
properly indicate which events are only valid when certain umasks are
|
|
Packit |
577717 |
present.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c7612326 src/utils/native_avail.c: papi_native_avail: fix empty component
|
|
Packit |
577717 |
case If a component had no events, papi_native_avail would ignore the error
|
|
Packit |
577717 |
returned by PAPI_enum_cmp_event( PAPI_ENUM_FIRST ); and try to print a first
|
|
Packit |
577717 |
event anyway.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* e1b064eb .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore:
|
|
Packit |
577717 |
disable component if no events found This can happen on older (pre 3.6)
|
|
Packit |
577717 |
kernels with the new libpfm4 that does proper uncore detection.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-08-01
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 9a54633a src/components/host_micpower/linux-host_micpower.c
|
|
Packit |
577717 |
src/components/infiniband/linux-infiniband.c
|
|
Packit |
577717 |
src/components/nvml/linux-nvml.c...: Components: Use the cuda dlopen fix all
|
|
Packit |
577717 |
cases. See 4cb76a9b for details, the short version is if you call dlopen
|
|
Packit |
577717 |
when you have been statically linked to libc, it gets ugly.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-31
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* dbc44ed1 src/components/perf_event/pe_libpfm4_events.c
|
|
Packit |
577717 |
.../perf_event_uncore/perf_event_uncore.c
|
|
Packit |
577717 |
.../perf_event_uncore/peu_libpfm4_events.c: perf_event libpfm4 events --
|
|
Packit |
577717 |
correctly handle invalid events It was possible for event names to be
|
|
Packit |
577717 |
obtained from libpfm4 during enumeration that were not valid events. This
|
|
Packit |
577717 |
usually happens with uncore events, where the uncore is listed as available
|
|
Packit |
577717 |
based on cpuid but when libpfm4 tries to get the uncore type from the kernel
|
|
Packit |
577717 |
finds out it is unsupported. This change makes this properly fail, instead
|
|
Packit |
577717 |
of just returning "0" for all the event paramaters (which is a valid event on
|
|
Packit |
577717 |
x86). Also make this change in the regular perf_event component, even though
|
|
Packit |
577717 |
it is less likely to happen in practice.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 4720890a .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore:
|
|
Packit |
577717 |
remove check_permissions() test It was trying to see if an EventSet was
|
|
Packit |
577717 |
runnable by using the current permissions and adding the PERF_HW_INSTRUCTIONS
|
|
Packit |
577717 |
event. That doesn't really make sense on uncore. The perf_event component
|
|
Packit |
577717 |
uses this test to try to give errors early, at set_opt() time rather than at
|
|
Packit |
577717 |
the first run time, although in practice now we can probably make intelligent
|
|
Packit |
577717 |
guesses based on the current permission levels.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 113d35f7 .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore:
|
|
Packit |
577717 |
remove unused kernel workarounds uncore only works on Linux 3.6 or newer so
|
|
Packit |
577717 |
all of the pre-2.6.35 workarounds aren't necessary. If someone has
|
|
Packit |
577717 |
backported the uncore support to kernels that old, hopefully they've also
|
|
Packit |
577717 |
backported all the other bugfixes too.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-25
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 4cb76a9b src/components/cuda/linux-cuda.c: Trial fix for the cuda component
|
|
Packit |
577717 |
static libc linking issue. Weak link against _dl_non_dynamic_init, this
|
|
Packit |
577717 |
appears in my limited testing to be in gnu libc.a and not in the so. For
|
|
Packit |
577717 |
background, it was reported by Steve Kaufmann that statically linking tools
|
|
Packit |
577717 |
with a PAPI library configured with the CUDA component segfaulted. It appears
|
|
Packit |
577717 |
that calling any of the dynamic linker functions from a static executable is
|
|
Packit |
577717 |
asking for pain. See Trac bug 182
|
|
Packit |
577717 |
https://icl.cs.utk.edu/trac/papi/ticket/182
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-24
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* ad47cfb9 src/configure src/configure.in: Add linux-pfm-ia64 to configure
|
|
Packit |
577717 |
I'm not sure if this is enough to fix itanium support but it's a start.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 098294c5 src/components/example/tests/example_basic.c
|
|
Packit |
577717 |
.../example/tests/example_multiple_components.c: Fixed tests for example
|
|
Packit |
577717 |
component. Both tests failed due to incorrect check of the components PAPI
|
|
Packit |
577717 |
has been configured with.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-23
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c0c4caf4 src/linux-memory.c src/papi_events.csv: Add initial support for
|
|
Packit |
577717 |
IBM POWER8 processor Add initial support for IBM POWER8 processor The IBM
|
|
Packit |
577717 |
POWER8 processor (to be publicly announced at some future date) has some
|
|
Packit |
577717 |
preliminary support in libpfm with a subset of native events. These
|
|
Packit |
577717 |
POWER8-related libpfm changes were pulled into PAPI on July 3, so further
|
|
Packit |
577717 |
updates in PAPI were required to support this new processor. This patch adds
|
|
Packit |
577717 |
that required support. NOTE: Due to the fact that only a subset of native
|
|
Packit |
577717 |
events have been publicised at this point (and pushed into libpfm), not all
|
|
Packit |
577717 |
of the usual PAPI preset events have corresponding native events. The rest of
|
|
Packit |
577717 |
the POWER8 native events will be pushed upstream once they are verified, and
|
|
Packit |
577717 |
then we can flesh out the PAPI preset events. With this initial POWER8
|
|
Packit |
577717 |
support patch, 5 of the ctests and ftests fail, compared to 3 when PAPI is
|
|
Packit |
577717 |
run on a POWER7. At least one of the failing testcases is due to testing
|
|
Packit |
577717 |
being done on an early POWER8 processor with some known hardware problems. We
|
|
Packit |
577717 |
presume the number of failing tests will decrease once we have GA-level
|
|
Packit |
577717 |
hardware to test on.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-22
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 6c231d1a src/configure: Rerun autoconf for f4ec143e Correct versioning of
|
|
Packit |
577717 |
libpapi.so
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f4ec143e src/configure.in: Correct versioning of libpapi.so The configure
|
|
Packit |
577717 |
for linux always set the soname to libpapi.so. This causes problems when
|
|
Packit |
577717 |
/sbin/ldconfig tries to update the library information on linux. The shared
|
|
Packit |
577717 |
library is installed as /lib{64}/libpapi.so.$VERSION, but the shared library
|
|
Packit |
577717 |
has the soname of libpapi.so. ldconfig makes a symbolic link from
|
|
Packit |
577717 |
/lib/libpapi.so to the actual versioned shared library,
|
|
Packit |
577717 |
/lib/{64}/libpapi.so$VERSION. The configure should get the soname correct to
|
|
Packit |
577717 |
avoid creating this symbolic link. This patch only addresses the issues for
|
|
Packit |
577717 |
some of the possible platforms and similar patches may be needed for other
|
|
Packit |
577717 |
platforms.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-19
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 92356bbd src/papi.c src/threads.c src/threads.h: Attempt to fix a memory
|
|
Packit |
577717 |
leak in fork2 test. Fork2 does the following: PAPI_library_init() fork(); /
|
|
Packit |
577717 |
\ parent child wait() PAPI_shutdown() ->
|
|
Packit |
577717 |
_papi_hwi_shutdown_global_threads() -> foreach(threadinfo we allocated):
|
|
Packit |
577717 |
_papi_hwi_shutdown_thread() PAPI_library_init() _papi_hwi_shutdown_thread
|
|
Packit |
577717 |
checks who allocated a ThreadInfo entry in the global list, and will only
|
|
Packit |
577717 |
free it if our thread did the allocation. When threading is not initialized,
|
|
Packit |
577717 |
we fall back to getpid(), now in the child process, the one ThreadInfo item
|
|
Packit |
577717 |
on the list was allocated by our parent, so at shutdown time we don't free
|
|
Packit |
577717 |
this, and thus leak it. Solution is to add a parameter to
|
|
Packit |
577717 |
_hwi_shutdown_thread to force shutdown even if we didn't allocate it. At
|
|
Packit |
577717 |
_papi_hwi_shutdown_global_threads() time, who cares, its closing time.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c04d908e src/cpus.c: Fix a deadlock in _papi_hwi_lookup_cpu(). If cpu_num
|
|
Packit |
577717 |
is not found by _papi_hwi_lookup_cpu(), _papi_hwi_initialize_cpu() calls
|
|
Packit |
577717 |
insert_cpu(), which locks CPUS_LOCK, which was already held by
|
|
Packit |
577717 |
_papi_hwi_lookup_cpu().
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* efac24c4 src/components/micpower/linux-micpower.c: micpower: fix return
|
|
Packit |
577717 |
value check Also add a time check at stop time.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-16
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b9fd9dd1 src/configure src/configure.in: configure: Fix AIX build
|
|
Packit |
577717 |
perfctr_ppc was not the only system that relied on ppc64_events.h, power*.h,
|
|
Packit |
577717 |
and friends. First run at a fix is -Icomponents/perfctr_ppc for the C and F
|
|
Packit |
577717 |
flags...
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 46042e68 src/components/micpower/linux-micpower.c: micpower: update some
|
|
Packit |
577717 |
indexing code
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-15
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 5220e7d2 INSTALL.txt: INSTALL.txt: typo --with-arch=, not --arch=; Thanks
|
|
Packit |
577717 |
to Karl Schulz for catching this.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 207e0ee0 src/papi_libpfm_events.h: papi_libpfm_events: needs include files
|
|
Packit |
577717 |
for types. Include papi.h and papi_vector.h for papi_vector_t and
|
|
Packit |
577717 |
PAPI_component_info_t
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d96c01c7 src/components/perfctr/perfctr.c: perfctr: cleanup a warning
|
|
Packit |
577717 |
Include papi_libpfm_events.h for _papi_libpfm_init() decl.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 367e1b38 src/components/perfctr/perfctr-x86.c
|
|
Packit |
577717 |
src/components/perfctr/perfctr.c: perfctr: refactor out setup_x86_presets
|
|
Packit |
577717 |
The setup_presets function served only to call _papi_libpfm_init, so we go
|
|
Packit |
577717 |
the rest of the way and completly remove the function, calling
|
|
Packit |
577717 |
_papi_libpfm_init directly from _perfctr_init_component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1ba38ce5 src/components/perfctr/perfctr-x86.c: perfctr: cleanup unused
|
|
Packit |
577717 |
parameter warning. The perfctr code was refactored to only call into the
|
|
Packit |
577717 |
table loading code one time. This had the side effect of removing most of
|
|
Packit |
577717 |
what setup_x86_presets does.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 02710ced src/configure src/configure.in: configure: remove debugging
|
|
Packit |
577717 |
message The compiler detection code had a stray AC_MSG_RESULT.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-12
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 028ce29d src/components/lustre/linux-lustre.c: lustre: use whole directory
|
|
Packit |
577717 |
name as event Gary Mohr reported that on a trial system he was seeing many
|
|
Packit |
577717 |
events of the form fs3-* which were all chopped to fs3, not helpful. I've
|
|
Packit |
577717 |
not actually been able to figure out exactly how lustre names things, I've
|
|
Packit |
577717 |
seen it described as <fs>-<uid> But have no clue what uid promisses.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-15
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 129d4587 src/papi.c: allow more than one EventSet attach to a CPU at a time
|
|
Packit |
577717 |
This is necessary for perf_event_uncore support, as multiple uncores will
|
|
Packit |
577717 |
want to attach to a CPU. It looks like this change won't break anything, and
|
|
Packit |
577717 |
the tests pass on my test machines. I am a bit concerned about
|
|
Packit |
577717 |
cpu->running_eventset, though no one seems to use that value...
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* bcda5ddd src/components/perf_event_uncore/tests/Makefile
|
|
Packit |
577717 |
.../tests/perf_event_uncore_nogran.c: perf_event_uncore: remove
|
|
Packit |
577717 |
perf_event_uncore_nogran test It is unnecessary after recent changes to the
|
|
Packit |
577717 |
uncore component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b1b9f654 src/components/perf_event_uncore/tests/Makefile
|
|
Packit |
577717 |
.../tests/perf_event_uncore_cbox.c: perf_event_uncore: add
|
|
Packit |
577717 |
perf_event_uncore_cbox test This adds a non-trivial test of the CBOX
|
|
Packit |
577717 |
uncores. It turned up various bugs in the PAPI uncore implementation.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* df1b6453 src/linux-common.c: linux: properly set hwinfo->socket value It
|
|
Packit |
577717 |
was being derived from hwinfo->ncpu but being calculated before hwinfo->ncpu
|
|
Packit |
577717 |
was set.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-13
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* ee537448 .../perf_event_uncore/perf_event_uncore.c
|
|
Packit |
577717 |
.../perf_event_uncore/peu_libpfm4_events.c
|
|
Packit |
577717 |
.../perf_event_uncore/peu_libpfm4_events.h: perf_event_uncore: properly
|
|
Packit |
577717 |
report number of total counters available
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7eb93917 src/components/perf_event/Rules.perf_event
|
|
Packit |
577717 |
src/components/perf_event/pe_libpfm4_events.c
|
|
Packit |
577717 |
src/components/perf_event/pe_libpfm4_events.h...:
|
|
Packit |
577717 |
perf_event/perf_event_uncore/libpfm4 -- rearrange files Give perf_event and
|
|
Packit |
577717 |
perf_event_uncore copies of papi_libpfm4_events to work with, as they will
|
|
Packit |
577717 |
have different needs for the code. Get rid of the perf_event_lib stuff. It
|
|
Packit |
577717 |
was a hack to begin with and in the end not much code will be shared. Maybe
|
|
Packit |
577717 |
we can re-share things once uncore support is complete.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-12
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 6810af2a src/components/perf_event/perf_event.c
|
|
Packit |
577717 |
.../perf_event_uncore/perf_event_uncore.c src/papi_libpfm4_events.c...:
|
|
Packit |
577717 |
papi_libpfm4: properly call pfm_terminate() in papi_libpfm4_shutdown
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 010497f4 src/components/perf_event/perf_event.c
|
|
Packit |
577717 |
.../perf_event_uncore/perf_event_uncore.c src/papi_libpfm4_events.c...: split
|
|
Packit |
577717 |
papi_libpfm4_init() split this function because the perf_event_uncore()
|
|
Packit |
577717 |
component is going to want to initialize things differently than plain
|
|
Packit |
577717 |
perf_event
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d9023411 src/components/perf_event/perf_event.c: perf_event: on old kernels
|
|
Packit |
577717 |
if SW Multiplex enabled, then report proper number of MPX counters available
|
|
Packit |
577717 |
it may be different than the amount HW supports
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7595a840 src/components/perf_event/perf_event_lib.c: perf_event: use
|
|
Packit |
577717 |
PERF_IOC_FLAG_GROUP when resetting events This ioctl argument specifies to
|
|
Packit |
577717 |
reset all events in a group, so we don't have to iterate. This argument
|
|
Packit |
577717 |
dates back to the introduction of perf_event and it makes the code a bit
|
|
Packit |
577717 |
cleaner.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f220fd19 src/ctests/Makefile src/ctests/reset_multiplex.c: Add
|
|
Packit |
577717 |
reset_multiplex.c PAPI_reset() potentially exercises different paths when
|
|
Packit |
577717 |
resetting normal and multiplexed eventsets, so make sure we test both.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f784a489 src/components/lustre/linux-lustre.c: lustre: botched a conflict
|
|
Packit |
577717 |
resolution properly do error checking on addCounter()
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c1350fc8 src/components/perf_event/perf_event.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.h: perf_event: move overflow and
|
|
Packit |
577717 |
profile code out of common lib the perf_event_uncore component doesn't need
|
|
Packit |
577717 |
it
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 8dde03fc .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore:
|
|
Packit |
577717 |
remove profiling and overflow code perf_event doesn't support sampling or
|
|
Packit |
577717 |
overflow on uncore
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 30d23636 src/components/lustre/linux-lustre.c: lustre component: Several
|
|
Packit |
577717 |
fixes 1. create a dynamic native events table in pathalogical cases, lustre
|
|
Packit |
577717 |
can have lots of events. 2. resolve some warnings change signature of
|
|
Packit |
577717 |
init_component properly error check addCounter 3. Add a preprocessor flag to
|
|
Packit |
577717 |
fake interface Set LIBCFLAGS="-DFAKE_LUSTRE"
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7ef51566 .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore:
|
|
Packit |
577717 |
remove dispatch timer call perf_event doesn't support sampling on uncore
|
|
Packit |
577717 |
events
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 667661c6 src/components/perf_event/perf_event.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.h: perf_event: move rdpmc detection
|
|
Packit |
577717 |
back into perf_event.c It was in the perf_event_lib but uncore won't use the
|
|
Packit |
577717 |
feature.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d46f01e1 .../perf_event_uncore/perf_event_uncore.c: perf_event_uncore:
|
|
Packit |
577717 |
check the paranoid file Disable the component if paranoid isn't 0 or lower,
|
|
Packit |
577717 |
and we're not running as root.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* e4ec67d1 src/components/perf_event/perf_event.c: perf_event and paranoid
|
|
Packit |
577717 |
level 2 If paranoid level 2 (no kernel events) was set we were removing
|
|
Packit |
577717 |
PAPI_DOM_KERNEL from the allowable domains We were doing this even if the
|
|
Packit |
577717 |
user was root. This code checks for uid 0 and overrides the restriction.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c5501081 src/components/perf_event/perf_event_lib.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.h: rename sys_perf_event_open2()
|
|
Packit |
577717 |
call back to sys_perf_event_open() This was changed when merging code to
|
|
Packit |
577717 |
avoid a conflict but wasn't renamed back whe the conflict was fixed.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-11
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* e263ea60 src/configure src/configure.in: configure: libpfm selection logic
|
|
Packit |
577717 |
rework If configure detected perfctr it would force libpfm3 to be used, even
|
|
Packit |
577717 |
with --with-perf_events, now force libpfm4 if perf_events is requested.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-10
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7a3ce030 .../host_micpower/Makefile.host_micpower.in
|
|
Packit |
577717 |
src/components/host_micpower/Rules.host_micpower
|
|
Packit |
577717 |
src/components/host_micpower/configure...: Component: host_micpower This is
|
|
Packit |
577717 |
a component that exports power information for Intel Xeon Phi cards (MIC).
|
|
Packit |
577717 |
The component makes use of the MicAccessAPI distributed with the Intel
|
|
Packit |
577717 |
Manycore Platform Software Stack.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
k-mpss)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 9d9bd9c2 src/ctests/shlib.c: Fwd: Re: [Ptools-perfapi] ctests/shlib FAILED
|
|
Packit |
577717 |
Should have sent this to the papi devel list. -Will -------- Original
|
|
Packit |
577717 |
Message -------- Subject: Re: [Ptools-perfapi] ctests/shlib FAILED Date: Tue,
|
|
Packit |
577717 |
09 Jul 2013 23:20:10 -0400 From: William Cohen <wcohen@redhat.com> To:
|
|
Packit |
577717 |
ptools-perfapi@eecs.utk.edu On 03/09/2012 03:40 PM, William Cohen wrote: > I
|
|
Packit |
577717 |
was looking through the test results and found that ctests/shlib FAILED on
|
|
Packit |
577717 |
all the machines I tested on because libm shared library is already linked
|
|
Packit |
577717 |
in. There is no difference in the number of shared libraries before and after
|
|
Packit |
577717 |
the dlopen. The test ctests/shlib fails as a reult of this. > > -Will >
|
|
Packit |
577717 |
_______________________________________________ > Ptools-perfapi mailing list
|
|
Packit |
577717 |
> Ptools-perfapi@eecs.utk.edu >
|
|
Packit |
577717 |
http://lists.eecs.utk.edu/mailman/listinfo/ptools-perfapi > I did some more
|
|
Packit |
577717 |
investigation of this problem today. I found that the lmsensor component
|
|
Packit |
577717 |
implicitly pulls in the libm. As an alternative, I wrote the attached patch
|
|
Packit |
577717 |
that uses setkey() and encrypt() in libcrypt.so instead. It works on various
|
|
Packit |
577717 |
linux machines, but I do not know whether it is going to work on other OS.
|
|
Packit |
577717 |
-Will >From c53c97e1de2d1c7dc0bca64d1906287ff73343c6 Mon Sep 17 00:00:00
|
|
Packit |
577717 |
2001 From: William Cohen <wcohen@redhat.com> Date: Tue, 9 Jul 2013 22:37:27
|
|
Packit |
577717 |
-0400 Subject: [PATCH] Avoid using libm.so for ctests/shlib because of
|
|
Packit |
577717 |
implicit use in some components The lmsensors component can implicitly pull
|
|
Packit |
577717 |
in libm.so into the executable. Unfortunately, the ctests/shlib test expects
|
|
Packit |
577717 |
that libm.so is not loaded and will fail because there is no change in the
|
|
Packit |
577717 |
count of shared libraries. The patch uses libcrypt.so library setkey and
|
|
Packit |
577717 |
encrypt functions to test PAPI_get_shared_lib_info( ) instead of libm.so
|
|
Packit |
577717 |
library pow function.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-09
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* bdc9b34b .../tests/perf_event_amd_northbridge.c:
|
|
Packit |
577717 |
Perf_event_amd_northbridge_test: Use buffer event_name instead of
|
|
Packit |
577717 |
uncore_event The variable uncore_event is initialized to NULL and is never
|
|
Packit |
577717 |
changed during execution of the test. PAPI_add_named_event fails and the
|
|
Packit |
577717 |
event set cannot be started. The correct event name is stored in event_name,
|
|
Packit |
577717 |
replacing all occurrences of uncore_event with event_name therefore fixes the
|
|
Packit |
577717 |
problem metioned above.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-08
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* a1678388 src/components/micpower/linux-micpower.c: micpower: Fix output in
|
|
Packit |
577717 |
native_avail and component_avail. It uses cmp_info.name, not .short_name?
|
|
Packit |
577717 |
Native Events in Component: mic-power Name: mic-power
|
|
Packit |
577717 |
Component for reading power on Intel Xeon Phi (MIC) Should both match what
|
|
Packit |
577717 |
is prepended to event names, so change .name from mic-power to micpower.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* e0582f2d src/components/micpower/linux-micpower.c: Micpower: fix a typo
|
|
Packit |
577717 |
subsystem, not sybsystem...
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c7b357ec INSTALL.txt: INSTALL.txt: update instructions for MIC.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 34a1124e src/components/perf_event_uncore/tests/Makefile
|
|
Packit |
577717 |
.../tests/perf_event_amd_northbridge.c: Add perf_event_amd_northbridge test
|
|
Packit |
577717 |
The test should show how to write a program using AMD fam15h NB with a 3.9
|
|
Packit |
577717 |
kernel. Once libpfm4 gets updated we can see if it's possible to also have
|
|
Packit |
577717 |
the test properly run on 3.10 kernels (in that case the regular
|
|
Packit |
577717 |
perf_event_uncore test should work w/o changes)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 41b6507c .../perf_event_uncore/tests/perf_event_uncore.c
|
|
Packit |
577717 |
.../tests/perf_event_uncore_multiple.c: Make perf_event_uncore tests use
|
|
Packit |
577717 |
PAPI_get_component_index() They were open-coding the component name search
|
|
Packit |
577717 |
for no good reason.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-05
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* abf38945 src/papi_libpfm4_events.c: avoid having a "default" PMU for the
|
|
Packit |
577717 |
uncore component on the main CPU component we have a "default" PMU where you
|
|
Packit |
577717 |
can leave out the PMU part of the event name. This is unnecessary and
|
|
Packit |
577717 |
sometimes confusing on uncore, so always print the full event name if it's an
|
|
Packit |
577717 |
uncore PMU.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b9fe5c3e .../perf_event_uncore/tests/perf_event_uncore.c
|
|
Packit |
577717 |
.../tests/perf_event_uncore_multiple.c: Update perf_event_uncore tests to
|
|
Packit |
577717 |
properly fail if they don't have enough permissions
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 32ae1686 .../perf_event_uncore/tests/perf_event_uncore.c:
|
|
Packit |
577717 |
perf_event_uncore_test : properly use uncore component The sample code was
|
|
Packit |
577717 |
still hardcoding to component "0" which shouldn't have worked. Thanks to
|
|
Packit |
577717 |
Claris Castillo for pointing out this problem.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 59e73b51 src/papi_libpfm4_events.c: have _papi_libpfm4_ntv_name_to_code
|
|
Packit |
577717 |
properly check pmu_type With the existing code, uncore events were being
|
|
Packit |
577717 |
found by the perf_event component even when that component has uncore events
|
|
Packit |
577717 |
distabled.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-03
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* a01394eb .../tests/perf_event_uncore_lib.c: perf_event_uncore: fix ivb
|
|
Packit |
577717 |
event in uncore test Now that libpfm4 officially supports plain ivb uncore,
|
|
Packit |
577717 |
make sure the test event we were using matches what libpfm4 supports.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-07-01
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f10342a8 src/utils/cost.c: Clean up option handling in papi_cost The
|
|
Packit |
577717 |
papi_cost used strstr to seach for the substring that matched the option.
|
|
Packit |
577717 |
this is pretty inexact. Made sure that the options matched exactly and the
|
|
Packit |
577717 |
option argments for -b and -t were greater than 0. Also make papi_cost print
|
|
Packit |
577717 |
out the help if there was an option that it didn't understand.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b5adc561 src/utils/native_avail.c: Clean up option handling for
|
|
Packit |
577717 |
papi_native_avail Corrected the help to reflect the name of the option
|
|
Packit |
577717 |
"--noumasks". Print error message if the "-i", "-e", and "-x" option
|
|
Packit |
577717 |
arguments are invalid. Avoid using strstr() for "-h", use strcmp instead.
|
|
Packit |
577717 |
Also check for "--help" option.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 8933be9b src/utils/decode.c: Clean up option handling in papi_decode
|
|
Packit |
577717 |
papi_decode used strstr() to match options; this can lead to inexact matchs.
|
|
Packit |
577717 |
The code should used strcmp instead. Make sure command name is not processed
|
|
Packit |
577717 |
as an option. Also print help iformation is some argument is not understood.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d94ac43a src/utils/component.c: Improve option matching in papi_component
|
|
Packit |
577717 |
and add "--help" option
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* bb63fe5c src/utils/command_line.c: Add options to papi_command_line man
|
|
Packit |
577717 |
page and improve opt handling Add options mention in the -h to the man page.
|
|
Packit |
577717 |
Also improve the matching of the options.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 09059c82 doc/Makefile src/utils/version.c: Add information for papi_version
|
|
Packit |
577717 |
to be complete
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 4f2eee8c src/configure src/configure.in: add a --disable-perf-event-uncore
|
|
Packit |
577717 |
option to configure
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-29
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 901c5cc2 src/components/perf_event/perf_event.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.c
|
|
Packit |
577717 |
.../perf_event_uncore/perf_event_uncore.c...: remove syscalls.h it's no
|
|
Packit |
577717 |
longer needed
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 4d7e3666 src/Rules.perfmon2 src/components/perfmon2/Rules.perfmon2
|
|
Packit |
577717 |
src/components/perfmon2/perfmon.c...: move perfmon modules to their own
|
|
Packit |
577717 |
component directory
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* a7e9c5f1 src/Rules.perfctr src/Rules.perfctr-pfm
|
|
Packit |
577717 |
src/components/perfctr/Rules.perfctr...: move perfctr files to
|
|
Packit |
577717 |
components/perfctr directory verified that perfctr-x86 still builds and
|
|
Packit |
577717 |
works perfctr_ppc has all the files to build, but it doesn't work. It looks
|
|
Packit |
577717 |
like no one has tried to build perfctr-ppc for a very very long time.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-27
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* e9dec1fd src/ctests/hl_rates.c src/papi.h src/papi_fwrappers.c...: debugged
|
|
Packit |
577717 |
versions of these files
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* e282034e src/utils/native_avail.c: native_avail: Fix parse_unit_mask code
|
|
Packit |
577717 |
Reported by Steve Kaufmann -------------------------- I noticed while
|
|
Packit |
577717 |
developing a new component that the output from papi_native_avail was
|
|
Packit |
577717 |
incorrectly presented for the component. I believe this is because the ":::"
|
|
Packit |
577717 |
prefix is not being taken into account, so the base event name is interpreted
|
|
Packit |
577717 |
as a unit mask and is prepend with a : before each legitimate unit mask
|
|
Packit |
577717 |
associated with the event. I think this is just now happening because mine is
|
|
Packit |
577717 |
the first component that has unit masks. I have include a fix below. The
|
|
Packit |
577717 |
output of the unit masks by papi_native_avail now appears correctly for my
|
|
Packit |
577717 |
component. Thanks, Steve
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-26
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* ff096786 src/ctests/fork2.c: fork2: Return fork2 test to its old
|
|
Packit |
577717 |
functionality Once upon a time fork2 did: PAPI_library_init() … if (
|
|
Packit |
577717 |
fork() == 0) PAPI_shutdown() PAPI_library_init() …
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-25
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 978d0d3d src/examples/PAPI_add_remove_event.c src/papi.c: Modify
|
|
Packit |
577717 |
PAPI_list_events functionality to match documentation. You can now pass in a
|
|
Packit |
577717 |
NULL event array and a zero count to get back the valid number of events.
|
|
Packit |
577717 |
This can then be used to allocate the array and retrieve the exact number of
|
|
Packit |
577717 |
events. Thanks to Nils Smeds and Alain Miniussi for pointing this out.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 13c52402 src/examples/PAPI_add_remove_event.c src/papi.c: Modify
|
|
Packit |
577717 |
PAPI_list_events functionality to match documentation. You can now pass in a
|
|
Packit |
577717 |
NULL event array and a zero count to get back the valid number of events.
|
|
Packit |
577717 |
This can then be used to allocate the array and retrieve the exact number of
|
|
Packit |
577717 |
events. Thanks to Nils Smeds and Alain Miniussi for pointing this out.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 656e703e src/ctests/zero_fork.c: zero_fork ctest : make documentation match
|
|
Packit |
577717 |
code
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 96aad0c7 src/ctests/forkexec.c: forkexec ctest : make comments match code
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b7c70953 src/ctests/forkexec4.c: forkexec4 ctest : make comments match the
|
|
Packit |
577717 |
code
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7ffb0245 src/ctests/forkexec3.c: forkexec3 ctest : make documentation match
|
|
Packit |
577717 |
code
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 55ea846c src/ctests/forkexec2.c: forkexec2 ctest: have comments match what
|
|
Packit |
577717 |
source does
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7a601e2a src/ctests/Makefile src/ctests/fork2.c: fork2 ctest: remove; was
|
|
Packit |
577717 |
an exact duplicate of fork
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 9deff49b src/ctests/fork.c: fork ctest: make comments match what file
|
|
Packit |
577717 |
actually does
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-24
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2770d2c5 src/components/perf_event/perf_event_lib.c: perf_event: fix
|
|
Packit |
577717 |
failure on ARM due to domain settings forgot to git add the perf_event_lib.c
|
|
Packit |
577717 |
file :(
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* bf7c4c50 src/components/perf_event/perf_event.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.h: perf_event: fix failure on ARM
|
|
Packit |
577717 |
due to domain settings On Cortex A8 and A9 it's not possible to set
|
|
Packit |
577717 |
exclude_kernel (hardware does not support it). Make sure the rdpmc detection
|
|
Packit |
577717 |
code doesn't try to set exclude_kernel.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-18
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2b1433d8 src/ctests/all_native_events.c src/ctests/get_event_component.c:
|
|
Packit |
577717 |
ctests: Skip calling into disabled components. This patch fixes a problem
|
|
Packit |
577717 |
that was causing two test cases to abort when they were run on a system which
|
|
Packit |
577717 |
has disabled components. Code was added to check if the component is
|
|
Packit |
577717 |
disabled and just go to the next component in the list when the check is
|
|
Packit |
577717 |
true. This prevents calls to code in components which may abort because the
|
|
Packit |
577717 |
component was unable to initialize itself correctly. Thanks to Gary Mohr and
|
|
Packit |
577717 |
Chuck LaCasse from Bull for reporting.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-14
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1872453c src/testlib/do_loops.c: testlib: don't change the iter count The
|
|
Packit |
577717 |
first argument to do_misses is an iteration count, for some reason the code
|
|
Packit |
577717 |
was dividing this in half before doing work. Most places that call do_misses
|
|
Packit |
577717 |
call it as do_misses ( 1, ...) void do_misses( int n, int bytes ) { {...} n
|
|
Packit |
577717 |
= n / 2; for ( j = 0; j < n; j++ ) { 1/2 == 0; so our do_misses call was
|
|
Packit |
577717 |
usually not. Thanks Nils Smeds for reporting.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-12
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c113e5b6 src/components/infiniband/Makefile.infiniband.in
|
|
Packit |
577717 |
src/components/infiniband/Rules.infiniband
|
|
Packit |
577717 |
src/components/infiniband/configure...: Infiniband component: switch over to
|
|
Packit |
577717 |
weak linking Thnaks to Gary Mohr for the patch.
|
|
Packit |
577717 |
---------------------------------- The infiniband component needs include
|
|
Packit |
577717 |
files and libraries from both the infiniband ibmad and ibumad packages. When
|
|
Packit |
577717 |
these packages are installed on a system, both packages normally install
|
|
Packit |
577717 |
their files in the same place (includes in /usr/include/infiniband and
|
|
Packit |
577717 |
libraries in /usr/lib64). The current component configure script allows you
|
|
Packit |
577717 |
to provide a single include path and a single library path which gets used to
|
|
Packit |
577717 |
access files from both packages. If these two packages have different
|
|
Packit |
577717 |
install prefixes (or you are trying to build from install images of each
|
|
Packit |
577717 |
package which are not located under the same directory) then the configure
|
|
Packit |
577717 |
script fails because it can not find all the files it needs. These changes
|
|
Packit |
577717 |
modify the configure script to replace the include and library dir's with an
|
|
Packit |
577717 |
ibmad_dir and ibumad_dir and then uses the correct packages directory when
|
|
Packit |
577717 |
looking for includes and libraries from that package. This makes it work
|
|
Packit |
577717 |
like the cuda and nvml components with respect to configuring how to find
|
|
Packit |
577717 |
files from a package the component depends on. There are also changes in
|
|
Packit |
577717 |
this patch file to remove an unneeded variable in the dlopen code to resolve
|
|
Packit |
577717 |
some defects reported by coverity.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-11
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d5be5643 src/components/rapl/tests/rapl_basic.c: rapl tests: make the error
|
|
Packit |
577717 |
messages a little more verbose
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 0c9f1a8c src/run_tests_exclude.txt src/run_tests_exclude_cuda.txt:
|
|
Packit |
577717 |
run_tests_exclude files: Exclude a template file
|
|
Packit |
577717 |
------------------------------------------- It also adds the cpi.pbs file to
|
|
Packit |
577717 |
the list of files to excluded when the tests are run. This file is just a
|
|
Packit |
577717 |
template and attempts to run it hang the run_tests script on our systems.
|
|
Packit |
577717 |
-------------------------------------------
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 0a063619 src/run_tests.sh: run_tests.sh: fix exclude check. The script
|
|
Packit |
577717 |
failed to remove .cu files, this patch fixes the check. Thanks Gary Mohr for
|
|
Packit |
577717 |
reporting/patching.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-10
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 87399477 src/components/cuda/linux-cuda.c: cuda component: Address a
|
|
Packit |
577717 |
coverity issue The library linking code saved return values in a local var
|
|
Packit |
577717 |
but never used them. Thanks to Gary Mohr for submitting this patch.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 99b5b685 src/components/coretemp/tests/coretemp_basic.c: coretemp_basic:
|
|
Packit |
577717 |
update test to properly enumerate events The code was old and was searching
|
|
Packit |
577717 |
the entire native event list for ones that started with "hwmon". This
|
|
Packit |
577717 |
updates the test to first find the coretemp component, then enumerate all
|
|
Packit |
577717 |
events contained within.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b5c0795b src/components/rapl/tests/rapl_overflow.c: rapl component: address
|
|
Packit |
577717 |
potential looping issue in test. A rapl component test has a do/while which
|
|
Packit |
577717 |
only exited when PAPI_add_named_event returned 0 ( and only 0; the PAPI_E*
|
|
Packit |
577717 |
error codes would not terminate a while( retval ) loop), this felt fragile,
|
|
Packit |
577717 |
minimal checks are now inplace.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 4e9484a5 src/components/rapl/tests/rapl_overflow.c: rapl components:
|
|
Packit |
577717 |
coverity fixes Reported/patched by Gary Mohr -----------------------------
|
|
Packit |
577717 |
The rapl component also has 1 defect in a test case. The complaint is that
|
|
Packit |
577717 |
there is code that can never be executed. But this one is not as clear, it
|
|
Packit |
577717 |
says that you can not exit the do/while loop that preceeds a test of retval
|
|
Packit |
577717 |
until retval=0 which means the test can never be true. The patch I am
|
|
Packit |
577717 |
providing is to again remove the if test and its contents. But I am
|
|
Packit |
577717 |
concerned that the do/while loop preceeding the test could result in a hard
|
|
Packit |
577717 |
loop that would hang the test case forever. It seems to me like something
|
|
Packit |
577717 |
should also be done to insure the loop will exit at some point. Here is a
|
|
Packit |
577717 |
patch that provides at least part of the fix: -----------------------------
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 0a533810 src/components/net/tests/net_values_by_name.c: net components:
|
|
Packit |
577717 |
coverity fixes Reported/patched by Gary Mohr -----------------------------
|
|
Packit |
577717 |
The net component has one defect in one of the test cases. The complaint is
|
|
Packit |
577717 |
that there is code that can never be executed. There is a test to see if
|
|
Packit |
577717 |
event_count == 0 which can never be true at that place in the code. So I
|
|
Packit |
577717 |
removed the if statement and its contents. Here is the patch:
|
|
Packit |
577717 |
-----------------------------
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-07
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b784b063 src/components/nvml/Rules.nvml src/components/nvml/configure
|
|
Packit |
577717 |
src/components/nvml/configure.in...: nvml: Apply Gary Mohr's dlopen patch.
|
|
Packit |
577717 |
Move the nvml component over to using the dlopen and weak linking
|
|
Packit |
577717 |
infrastructure of the cuda component. Thanks, Gary.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d6505b76 src/components/rapl/utils/rapl_plot.c: rapl: update the rapl_plot
|
|
Packit |
577717 |
utility Get the event names by enumerating the ones available with the RAPL
|
|
Packit |
577717 |
component rather than having a hard-coded list.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2094c5b1 src/components/rapl/linux-rapl.c: rapl: add better error messages
|
|
Packit |
577717 |
on component init failure
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d0e668fb src/ctests/Makefile src/ctests/high-level.c
|
|
Packit |
577717 |
src/ctests/hl_rates.c...: First round of changes to implement a PAPI high
|
|
Packit |
577717 |
level event per cycle call. Untested.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-06-05
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 63074f82 src/components/rapl/linux-rapl.c: rapl: Add Ivb-EP support The
|
|
Packit |
577717 |
Intel docs are spotty on what is actually supported. They state: 14.7.2 RAPL
|
|
Packit |
577717 |
Domains and Platform Specificity The specific RAPL domains available in a
|
|
Packit |
577717 |
platform varies across product segments. Platforms targeting client segment
|
|
Packit |
577717 |
support the following RAPL domain hierarchy: * Package * Two power planes:
|
|
Packit |
577717 |
PP0 and PP1 (PP1 may reflect to uncore devices) Platforms targeting server
|
|
Packit |
577717 |
segment support the following RAPL domain hierarchy: * Package * Power plane:
|
|
Packit |
577717 |
PP0 * DRAM
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-31
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 31b4702d src/cpus.c: cpus.c: Don't run init_thread/shutdown_thread for
|
|
Packit |
577717 |
disabled components.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-29
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c48087d2 ChangeLogP511.txt RELEASENOTES.txt: Grab the updated ChangeLog
|
|
Packit |
577717 |
from 5.1.1 Create a ChangeLog and update RELEASENOTES for a 5.1.1 release.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-24
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d1c8769e src/components/perf_event/tests/Makefile
|
|
Packit |
577717 |
src/components/perf_event/tests/event_name_lib.c
|
|
Packit |
577717 |
.../perf_event/tests/perf_event_user_kernel.c: Add perf_event user/kernel
|
|
Packit |
577717 |
domain test This will be useful if/when we start handling domains properly.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 89e1aeba src/components/perf_event/tests/Makefile
|
|
Packit |
577717 |
src/components/perf_event/tests/event_name_lib.c
|
|
Packit |
577717 |
src/components/perf_event/tests/event_name_lib.h...: Add perf_event offcore
|
|
Packit |
577717 |
response test Does a quick check to see if offcore response events are
|
|
Packit |
577717 |
working.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* bda86616 .../perf_event_uncore/perf_event_uncore.c
|
|
Packit |
577717 |
src/ctests/get_event_component.c src/papi_internal.c: Some more ctest fixes
|
|
Packit |
577717 |
involving disabled components. We enforce disabled components sometime in
|
|
Packit |
577717 |
the PAPI routines and sometimes in the components themselves. A bit
|
|
Packit |
577717 |
confusing. It is tough with perf_event and perf_event_uncore because we
|
|
Packit |
577717 |
share libpfm4 by both, so the naming library for perf_event_uncore will be
|
|
Packit |
577717 |
active even if the component is disabled, which can cause some confusing
|
|
Packit |
577717 |
results if your test code ignores PAPI_ENOCMP error messages and accesses a
|
|
Packit |
577717 |
disabled component anyway. This at least fixes our test cases, we might have
|
|
Packit |
577717 |
to revisit this later.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b596621e doc/Doxyfile-common papi.spec src/Makefile.in...: Bump version
|
|
Packit |
577717 |
numbers Call this 5.2.0.0 simple because its greater than (and some
|
|
Packit |
577717 |
components are completely incompatible with) 5.1.1
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* eb77a91e .../perf_event_uncore/perf_event_uncore.c src/papi.c: Disallow
|
|
Packit |
577717 |
enumerating events on disabled components. This was causing segfaults on
|
|
Packit |
577717 |
tests where enumeration was trying to enumerate uncore events on machines w/o
|
|
Packit |
577717 |
uncores.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 4e991a8a .../perf_event/tests/perf_event_system_wide.c:
|
|
Packit |
577717 |
perf_event_system_wide: SKIP instead of FAIL if we don't have proper
|
|
Packit |
577717 |
permissions
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7654bb1f src/Makefile.inc src/components/perf_event/tests/Makefile
|
|
Packit |
577717 |
.../perf_event/tests/perf_event_system_wide.c...: move the perf_event
|
|
Packit |
577717 |
specific tests to be with their component This means the perf_event tests
|
|
Packit |
577717 |
will only be run if perf_event is enabled
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* d82e343f src/ctests/perf_event_uncore_multiple.c:
|
|
Packit |
577717 |
ctests/perf_event_uncore_multiple: Improve this test a bit
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b1a594bf src/perf_events.c src/sys_perf_event_open.c: Remove the no-longer
|
|
Packit |
577717 |
needed perf_events files Now we use the versions in the
|
|
Packit |
577717 |
components/perf_event directory
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* a9a277f3 src/Makefile.in src/Makefile.inc src/configure...: Split up
|
|
Packit |
577717 |
CPUCOMPONENT configure variable Now it is CPUCOMPONENT_NAME CPUCOMPONENT_C
|
|
Packit |
577717 |
CPUCOMPONENT_OBJ This allows having setups with no CPUCOMPONENT set
|
|
Packit |
577717 |
(perf_event used as a component) while keeping backward compatible with
|
|
Packit |
577717 |
non-component CPU components. This has been tested on perf_event and
|
|
Packit |
577717 |
perfctr. It might break other architectures, so test if you can.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 69e29526 src/configure src/configure.in: configure: have --with-components
|
|
Packit |
577717 |
append comonents to existing value This allows configure to earlier set the
|
|
Packit |
577717 |
components value to include "perf_event" if detected and then later append
|
|
Packit |
577717 |
the values passed in with --with-components
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 9d28df4c src/components/perf_event/Rules.perf_event
|
|
Packit |
577717 |
src/components/perf_event/perf_event.c
|
|
Packit |
577717 |
src/components/perf_event/perf_event_lib.c...: add perf_event and
|
|
Packit |
577717 |
perf_event_uncore components This adds perf_event as a standalone component.
|
|
Packit |
577717 |
Currently it is not compiled or built, some changes need to be made to the
|
|
Packit |
577717 |
build system before this will work.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-21
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* ea996661 src/components/cuda/linux-cuda.c: eliminate warnings of unused
|
|
Packit |
577717 |
vars
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 691bf114 src/components/cuda/linux-cuda.c: eliminate warnings of unused
|
|
Packit |
577717 |
vars
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 221bfdab src/components/cuda/linux-cuda.c
|
|
Packit |
577717 |
src/components/cuda/tests/HelloWorld.cu: Problem with cleanup_eventset():
|
|
Packit |
577717 |
after destroying the CUDA eventset, update_control_state() is called again
|
|
Packit |
577717 |
which operates on the already destroyed eventset.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-17
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 84925f50 src/components/cuda/linux-cuda.c: When adding multiple CUDA events
|
|
Packit |
577717 |
to an event set, PAPI_add_event() error 14 (CUPTI_ERROR_NOT_COMPATIBLE) is
|
|
Packit |
577717 |
being raised from the CUPTI library. Turns out that the CUDA update control
|
|
Packit |
577717 |
state wasn't cleaning the event set up properly before adding new events.
|
|
Packit |
577717 |
It's fixed now.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2337aa3a src/perf_events.c: perf_event: allow running with
|
|
Packit |
577717 |
perf_event_paranoid is 2 perf_event_paranoid set to 2 means allow user
|
|
Packit |
577717 |
monitoring only (no kernel domain). The code before this mistakenly disabled
|
|
Packit |
577717 |
all events in this case. Also set the allowed domains to exclude
|
|
Packit |
577717 |
PAPI_DOM_KERNEL.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-16
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 617d9fbb src/papi_events.csv: papi_events.csv Revert a little mishap in
|
|
Packit |
577717 |
adding ivbep support Somehow the contents of papi_hl.c ended up in the
|
|
Packit |
577717 |
events file.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2aff4596 src/papi_events.csv: Add identifier for ivb_ep
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1810ddf9 src/papi_libpfm4_events.c src/papi_libpfm4_events.h
|
|
Packit |
577717 |
src/perf_events.c: papi_libpfm4_events: allow specifying
|
|
Packit |
577717 |
core/uncore/os_generic PMUs This allows you to specify you only want your
|
|
Packit |
577717 |
perf_event/libpfm4 based component to only export the PMU types you want.
|
|
Packit |
577717 |
Now we can have an uncore-only component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 6554f3f0 src/papi_libpfm4_events.c: papi_libpfm4_events.c: only enable
|
|
Packit |
577717 |
presets for component 0 If we have multiple events using libpfm4, we only
|
|
Packit |
577717 |
want to load the presets if it is component 0.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 6a4a4594 src/papi.c: PAPI_get_component_index() was matching names
|
|
Packit |
577717 |
improperly For example, it was matching perf_event and perf_event_uncore as
|
|
Packit |
577717 |
the same component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1b94e157 src/papi_hl.c: papi_hl.c : fix IPC calculation I broke it a while
|
|
Packit |
577717 |
back while trying to clear out use of MHz. The code was uncommented and very
|
|
Packit |
577717 |
confusing. It is slightly better now.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 92d4552e src/papi_libpfm4_events.c src/papi_libpfm4_events.h
|
|
Packit |
577717 |
src/perf_events.c: papi_libpfm4_events: code changes to allow multiple
|
|
Packit |
577717 |
component access the PAPI libpfm4 code has been modified to allow multiple
|
|
Packit |
577717 |
users at once. This will allow multiple components to use libpfm4, for
|
|
Packit |
577717 |
example a CPU component and an uncore component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7902b30e src/cpus.c: cpus: fix debug compile I always forget to compile
|
|
Packit |
577717 |
with --with-debug and miss changes in the DEBUG statements.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-15
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7ddc05ff src/cpus.c src/cpus.h: cpus.c: Add reference count to cpu
|
|
Packit |
577717 |
structure It is possible to have multiple eventsets all attached to the same
|
|
Packit |
577717 |
CPU, as long as only one eventset is running at a time. At EventSet cleanup,
|
|
Packit |
577717 |
PAPI would free the CpuInfo_t structure even if other EventSets were still
|
|
Packit |
577717 |
using it. This patch adds a reference count to the structure and only frees
|
|
Packit |
577717 |
it after the last user is cleaned up. I also fixed a few locking bugs,
|
|
Packit |
577717 |
hopefully I didn't introduce any new ones.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 6a61f9a2 src/cpus.c: more cleanup of the cpus.c file mostly formatting and
|
|
Packit |
577717 |
added comments.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 710d269f src/cpus.c src/cpus.h src/papi.c...: cleanup cpus.h It had a lot
|
|
Packit |
577717 |
of extraneous stuff in it. Also make sure it only gets included in files
|
|
Packit |
577717 |
that need it.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 422226c9 src/papi.c: papi.c: add some extra debug messages
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b1297058 src/cpus.c: Clean up cpus.c a bit Tracking down a segfault in the
|
|
Packit |
577717 |
cpu attach cleanup code.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7b6023cf src/ctests/perf_event_system_wide.c:
|
|
Packit |
577717 |
ctests/perf_event_system_wide: much improved output It segfaults at the end
|
|
Packit |
577717 |
though, unclear if this is a bug in the test or a bug in PAPI. Will
|
|
Packit |
577717 |
investigate.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 38397aa3 src/components/cuda/configure src/components/cuda/configure.in
|
|
Packit |
577717 |
src/components/cuda/linux-cuda.c...: Cuda component: Update library search
|
|
Packit |
577717 |
path From Gary Mohr: It turns out that with the changes I gave you the path
|
|
Packit |
577717 |
to the libcuda.so library is still hard coded to /usr/lib64. This assumes
|
|
Packit |
577717 |
that the NVIDIA-Linux package is installed on the system where the build is
|
|
Packit |
577717 |
being done. In Bull's case (and probably other users also) this is not
|
|
Packit |
577717 |
always the case. To add the flexibility we need, I have added a new
|
|
Packit |
577717 |
configure argument to the cuda configure script. The new argument is
|
|
Packit |
577717 |
"--with-cudrv_dir" and it allows the user to specify where the cuda driver
|
|
Packit |
577717 |
package (ie: NVIDIA-Linux) to be used for the build can be found. This new
|
|
Packit |
577717 |
argument is optional and if not provided a value of "/usr" will be used. This
|
|
Packit |
577717 |
allows existing configure calls to continue to work like before.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f8873d1c src/ctests/perf_event_system_wide.c:
|
|
Packit |
577717 |
ctests/perf_event_system_wide: clean up the output a lot Still working on
|
|
Packit |
577717 |
understanding it.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* ebf20589 src/ctests/perf_event_system_wide.c: perf_event_system_wide:
|
|
Packit |
577717 |
testing various DOMAIN and GRANULARITY settings pushing the limits of
|
|
Packit |
577717 |
PAPI/perf_event trying to see why system-wide measurement doesn't work.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-14
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 0c1ef3f5 src/components/cuda/linux-cuda.c: CUDA component: Update
|
|
Packit |
577717 |
description field Also removes a strcpy in the init code, which overwrote
|
|
Packit |
577717 |
the name field. Thanks to Gary Mohr
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 474fc00e src/ctests/perf_event_uncore_lib.c: Add AMD fam15h northbridge
|
|
Packit |
577717 |
event to ctests/perf_event_uncore_lib.c
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-13
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* cf56cdac src/perf_events.c: perf_event component: update error returns
|
|
Packit |
577717 |
This passes more error return values back to PAPI. Before this change a lot
|
|
Packit |
577717 |
of places were hardcoded to PAPI_EPERM even if sys_perf_event_open() was
|
|
Packit |
577717 |
reporting a different error.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* c824471b src/ctests/Makefile src/ctests/perf_event_system_wide.c
|
|
Packit |
577717 |
src/ctests/perf_event_uncore.c...: Update the perf_event specific tests.
|
|
Packit |
577717 |
This adds a few more uncore tests, which are currently showing some bugs in
|
|
Packit |
577717 |
the implementation. The tests all need root permissions to run, so should
|
|
Packit |
577717 |
default to "SKIPPED" for most users.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-08
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* e0204914 src/configure src/configure.in: Force the use of pthread_mutexes
|
|
Packit |
577717 |
on ARM This lets the system libraries worry about the best way to define
|
|
Packit |
577717 |
mutexes, rather than trying to hand-code in assembly around all of the
|
|
Packit |
577717 |
various issues there are with atomic instructions in the ARM architecture.
|
|
Packit |
577717 |
It might make sense to enable this for *all* Linux architectures, but for now
|
|
Packit |
577717 |
just do it for ARM.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f21b1b27 src/linux-lock.h: Commit 59d3d7584b2925bd05b4b5d0f4fe89666eb8494a
|
|
Packit |
577717 |
removed the definition of mb(). mb() was defined as rmb(). This just
|
|
Packit |
577717 |
corrects it back. (Note from VMW -- this fixes some things, but ARM still
|
|
Packit |
577717 |
won't build on a Cortex A9 pandaboard due to the use of the "swp"
|
|
Packit |
577717 |
instruction. Proper fix is probably to enforce posix-mutexes on ARM)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-06
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 913f0795 src/components/nvml/configure src/components/nvml/configure.in:
|
|
Packit |
577717 |
NVML: Update wording for configure options. Thanks for pointing out the
|
|
Packit |
577717 |
ambigous wording, Heike.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 81a86c2b src/components/infiniband/Rules.infiniband
|
|
Packit |
577717 |
src/components/infiniband/linux-infiniband.c
|
|
Packit |
577717 |
src/components/infiniband/tests/Makefile: Infiniband component: use
|
|
Packit |
577717 |
dlopen/dlsym for symbols Apply Gary Mohr's patch to switch the infiniband
|
|
Packit |
577717 |
component over to dl* with the same motivations as the cuda component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-02
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2e6bcb2a src/utils/native_avail.c: Add two command line switches: -i
|
|
Packit |
577717 |
EVENTSTR includes only events whose names contain EVENTSTR; -x EVENTSTR
|
|
Packit |
577717 |
excludes all events whose names contain EVENTSTR. These two switches can be
|
|
Packit |
577717 |
combined, but only one string per switch can be used. This allows you to, for
|
|
Packit |
577717 |
example, filter events by component name, or eliminate all uncore events on
|
|
Packit |
577717 |
Sandy Bridge…
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-05-01
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 3163cc83 src/ctests/perf_event_uncore.c: ctests/perf_event_uncore: add
|
|
Packit |
577717 |
IvyBridge support this needs an updated libpfm4 to work
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-30
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 55c89673 src/examples/add_event/Papi_add_env_event.c
|
|
Packit |
577717 |
src/examples/overflow_pthreads.c: Examples: Missed two instances of %x printf
|
|
Packit |
577717 |
formating.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-29
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b3c5bd47 src/components/appio/tests/appio_list_events.c
|
|
Packit |
577717 |
src/components/appio/tests/appio_values_by_code.c
|
|
Packit |
577717 |
src/components/appio/tests/appio_values_by_name.c...: Address TRAC 174: Let
|
|
Packit |
577717 |
printf do the formatting https://icl.cs.utk.edu/trac/papi/ticket/174 174:
|
|
Packit |
577717 |
PAPI's debuggin/info output should use %# conversions for octal and hex
|
|
Packit |
577717 |
------------------------+-------------------- Reporter: sbk@… |
|
|
Packit |
577717 |
Owner: Type: enhancement | Status: new Priority: normal |
|
|
Packit |
577717 |
Component: All Version: HEAD | Severity: normal Keywords:
|
|
Packit |
577717 |
| ------------------------+-------------------- Email sent to James
|
|
Packit |
577717 |
Ralph: Seeing your latest change reminded me: Anytime there is a value
|
|
Packit |
577717 |
issued in hex or octal the "%#" conversion should be used so the value is
|
|
Packit |
577717 |
always preceded with a "0" for octal or a "0x" for hex. Otherwise when a
|
|
Packit |
577717 |
value is printed one can not tell the base it is in (one shouldn't have to
|
|
Packit |
577717 |
rely on internal knowledge of the code or the context to tell). For variables
|
|
Packit |
577717 |
that are pointers the "%p" conversion can be used (this will always use an
|
|
Packit |
577717 |
hex syntax). It would be nice to apply this to all PAPI print statements in
|
|
Packit |
577717 |
their entirety.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-25
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 87ec9286 src/components/vmware/Rules.vmware: Rules.vmware: Use $(LDL) no
|
|
Packit |
577717 |
-ldl Minor cleanup, but configure sets it, so why not use it.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-26
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 8dddd587 src/papi_hl.c: papi_hl: Use PAPI_get_virt_usec() for process time
|
|
Packit |
577717 |
The code was using cycles / MHz which is not guaranteed to work on modern
|
|
Packit |
577717 |
machines. It also was sometimes using (instructions / estimated IPC) / MHz
|
|
Packit |
577717 |
which hopefully isn't necessary for any machine PAPI currently supports.
|
|
Packit |
577717 |
Instead use PAPI_get_virt_usec() which should give the right value.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-25
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 9dd36088 src/ctests/perf_event_uncore.c: ctests/perf_event_uncore: make
|
|
Packit |
577717 |
more modular Cleans up the code to make it easier to add tests for
|
|
Packit |
577717 |
architectures other than SandyBridge-EP. I was doing this so I could add
|
|
Packit |
577717 |
support for IvyBridge but it turns out neither Linux nor libpfm4 supports
|
|
Packit |
577717 |
uncore on IvyBridge yet. hmmm.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 52ff0293 src/components/cuda/Rules.cuda: Rules.cuda: The cuda component
|
|
Packit |
577717 |
now depend on the dynamic linking loader and on some systems one has to
|
|
Packit |
577717 |
explicitly link to it. Add $(LDL) to LD_FLAGS, configure sets it if we need
|
|
Packit |
577717 |
it.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 97a4a5ea src/components/cuda/Rules.cuda src/components/cuda/linux-cuda.c
|
|
Packit |
577717 |
src/components/cuda/tests/Makefile: Cuda component enhancement.
|
|
Packit |
577717 |
---------------- From Gary's submission--------------------------------- The
|
|
Packit |
577717 |
current packaging of the cuda component in PAPI has a fairly unfriendly side
|
|
Packit |
577717 |
effect. When PAPI is built with the cuda component, then that copy of PAPI
|
|
Packit |
577717 |
can only be used on systems where the cuda libraries are installed. If it is
|
|
Packit |
577717 |
installed on a system without these libraries then all PAPI services fail
|
|
Packit |
577717 |
because they have references to libraries which can not be found. Even
|
|
Packit |
577717 |
papi_avail which you would think has nothing to do with cuda reports the
|
|
Packit |
577717 |
error. This issue significantly complicates the delivery and install of the
|
|
Packit |
577717 |
PAPI package on large clusters where some of the nodes have NVIDIA GPU's (and
|
|
Packit |
577717 |
the cuda libraries to talk to them) and other nodes do not have GPU's (and
|
|
Packit |
577717 |
therefore no software to access them). I have been working with the help of
|
|
Packit |
577717 |
Phil Mucci to eliminate this dependency so that a copy of PAPI built with a
|
|
Packit |
577717 |
cuda component could be installed on all nodes in the cluster and if the node
|
|
Packit |
577717 |
had NVIDIA GPU's (and libraries available) then the cuda component would get
|
|
Packit |
577717 |
enabled and could be used. If the node did not have the hardware or the
|
|
Packit |
577717 |
access libraries were not available, then the cuda component would just
|
|
Packit |
577717 |
disable itself at component initialization so it could not be used (but all
|
|
Packit |
577717 |
other PAPI services would still work). Phil has provided some gentle
|
|
Packit |
577717 |
prodding and lots of valuable suggestions to assist this effort. I now think
|
|
Packit |
577717 |
that I have a working version of this capability and am ready to share it
|
|
Packit |
577717 |
with the community.
|
|
Packit |
577717 |
----------------------------------------------------------------------- Many
|
|
Packit |
577717 |
thanks to Gary Mohr and Phil Mucci for this much needed functionality.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-23
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 99c8e352 src/papi_internal.c: papi_internal.c: Print an eventcode in hex vs
|
|
Packit |
577717 |
decimal. Thanks, Gary Mohr.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-22
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1fc5dae2 src/run_tests.sh: The test for determining whether to run valgrind
|
|
Packit |
577717 |
was backwards. Correcting that allow the run_test.sh script to stay the same
|
|
Packit |
577717 |
and one just needs to define "VALGRIND=yes" (or any non-null string) to make
|
|
Packit |
577717 |
run_test.sh use valgrind. --- src/run_tests.sh | 6 ++---- 1 file changed, 2
|
|
Packit |
577717 |
insertions(+), 4 deletions(-) diff --git a/src/run_tests.sh
|
|
Packit |
577717 |
b/src/run_tests.sh index d1ce205..9337ff2 100755 --- a/src/run_tests.sh +++
|
|
Packit |
577717 |
b/src/run_tests.sh @@ -19,10 +19,8 @@ else export TESTS_QUIET fi -if [
|
|
Packit |
577717 |
"x$VALGRIND" = "x" ]; then -# Uncomment the following line to run tests using
|
|
Packit |
577717 |
Valgrind -# VALGRIND="valgrind --leak-check=full"; - VALGRIND=""; +if [
|
|
Packit |
577717 |
"x$VALGRIND" != "x" ]; then + VALGRIND="valgrind --leak-check=full"; fi
|
|
Packit |
577717 |
#CTESTS=`find ctests -maxdepth 1 -perm -u+x -type f`; --
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-19
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 4cf16234 src/components/README src/components/bgpm/README
|
|
Packit |
577717 |
src/components/coretemp_freebsd/README...: Restructure README files for
|
|
Packit |
577717 |
components so that the file in the components directory doesn't document
|
|
Packit |
577717 |
individual component details. Add README files to each component directory
|
|
Packit |
577717 |
that requires further installation detail. Update RAPL instructions to
|
|
Packit |
577717 |
capture how to enable reading the MSRs. These files are supposedly configured
|
|
Packit |
577717 |
with Doxygen markup, but I don't think the master README ever got built. It
|
|
Packit |
577717 |
probably should.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-17
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* bf75d226 src/components/cuda/tests/HelloWorld.cu: cuda/tests/HelloWorld.cu:
|
|
Packit |
577717 |
workaround a segfault. Report from Gary Hohr
|
|
Packit |
577717 |
|
|
Packit |
577717 |
I was running the Cuda test case on a system which did not actually have any
|
|
Packit |
577717 |
NVIDIA GPU's installed on it (but the cuda software was installed and papi
|
|
Packit |
577717 |
was built with the cuda component). I modified the test case to put an real
|
|
Packit |
577717 |
cuda event in the source (as suggested in the source). When I run the test
|
|
Packit |
577717 |
case the cuda component gets disabled in PAPI_library_init (because
|
|
Packit |
577717 |
detectDevice function can not find any GPU's) which is the correct behavior.
|
|
Packit |
577717 |
The test case then calls PAPI_event_name_to_code which failed because the
|
|
Packit |
577717 |
cuda component was disabled. The test case then created an event set and
|
|
Packit |
577717 |
called PAPI_add_events with an empty list of events to be added. This led to
|
|
Packit |
577717 |
a segfault somewhere inside libpfm4. The attached patch makes some minor
|
|
Packit |
577717 |
changes to protect against this problem. I noticed this test case does not
|
|
Packit |
577717 |
use the PAPI test framework utilities (test_xxxx functions) so I did not
|
|
Packit |
577717 |
modify the test to use them.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-04-15
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 457bfd74 src/components/cuda/linux-cuda.c: When creating two event sets -
|
|
Packit |
577717 |
one for the CUDA and one for the CPU component - the order of event set
|
|
Packit |
577717 |
creation appears crucial. When the CPU event set has been created before the
|
|
Packit |
577717 |
CUDA event set then PAPI_start() for the CUDA event set works fine. However,
|
|
Packit |
577717 |
if the CUDA event set has been created before the CPU event set, then
|
|
Packit |
577717 |
PAPI_start(CUDA_event_set) forces the CUDA control state to be updated one
|
|
Packit |
577717 |
more time, even if the CUDA event set has not been modified. The CUDA control
|
|
Packit |
577717 |
state function did not properly handle this case and hence cause PAPI_start()
|
|
Packit |
577717 |
to fail. This has been fixed.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 807120b6 src/components/cuda/linux-cuda.h: linux-cuda.c
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-28
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 7b0eec7a src/run_tests.sh: run_tests.sh: further refine component test find
|
|
Packit |
577717 |
Exclude *.cu when looking for component tests.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-25
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 6a40c8ba src/run_tests.sh: run_tests.sh: File mode changes. run_tests.sh
|
|
Packit |
577717 |
is now expected to run from the install location in addition to src. The
|
|
Packit |
577717 |
script tried to remove execute from *.[c|h], now it just excludes *.[c|h]
|
|
Packit |
577717 |
from the find commands.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-18
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2ba9f473 src/perfctr-x86.c: perfctr: don't read in event table multiple
|
|
Packit |
577717 |
times papi_libpfm3_events.c now reads in the predefined events, we don't
|
|
Packit |
577717 |
also need to do this in perfctr setup_x86_presets()
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 326401b1 src/perfctr.c: Fix segfault in perfctr.c The preset lookup uses
|
|
Packit |
577717 |
the cidx index, but in perfctr.c we weren't passing a cidx value (it was
|
|
Packit |
577717 |
being left off). The old perfctr code plays games with defining extern
|
|
Packit |
577717 |
functions so the compiler wasn't giving us a warning.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-14
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 50130c6f src/components/bgpm/L2unit/linux-L2unit.c src/linux-bgq.c: If a
|
|
Packit |
577717 |
counter is not set to overflow (threshold==0; happens when PAPI_shutdown is
|
|
Packit |
577717 |
called) then we do not want to rebuild the BGPM event set, even if the event
|
|
Packit |
577717 |
set has been used previously and hence "applied or attached". Usually if an
|
|
Packit |
577717 |
event set has been applied or attached prior to setting overflow, the BGPM
|
|
Packit |
577717 |
event set needs to be deleted and recreated (which implies malloc() from
|
|
Packit |
577717 |
within BGPM). Not so, though, if threshold is 0 which is the case when
|
|
Packit |
577717 |
PAPI_shutdown is called. Note, this only applies to Punit and L2unit, not
|
|
Packit |
577717 |
IOunit since an IOunit event set in not applied or attached.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-13
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1a143003 src/components/bgpm/IOunit/linux-IOunit.c
|
|
Packit |
577717 |
src/components/bgpm/IOunit/linux-IOunit.h
|
|
Packit |
577717 |
src/components/bgpm/L2unit/linux-L2unit.c...: Overflow issue on BG/Q
|
|
Packit |
577717 |
resolved. Overflow with multiple components worked; overflow with multiple
|
|
Packit |
577717 |
components and multiple events did not work as supposed to.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 42741a40 src/components/cuda/Rules.cuda: Added one more library to linker
|
|
Packit |
577717 |
command.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-12
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1431eb3f src/components/nvml/Makefile.nvml.in
|
|
Packit |
577717 |
src/components/nvml/Rules.nvml src/components/nvml/configure...: NVML
|
|
Packit |
577717 |
component: build system work Adopt the cuda component's method for
|
|
Packit |
577717 |
specifying library location.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-11
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* ce66feac src/components/mx/linux-mx.c: mx component: Modernize init
|
|
Packit |
577717 |
routine. Add component index to _mx_component_init()s signarure and set the
|
|
Packit |
577717 |
bit in component info.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 1c1bc177 src/components/cuda/Makefile.cuda.in
|
|
Packit |
577717 |
src/components/cuda/Rules.cuda src/components/cuda/configure...: Resolve
|
|
Packit |
577717 |
configure issues for CUDA component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-07
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f3572537 src/linux-common.c src/linux-memory.c: Fix the build on
|
|
Packit |
577717 |
Linux-SPARC I dug out an old SPARC machine and fixed the PAPI build on it.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 2c7f102c src/perf_events.c: More comprehensive sys_perf_open to PAPI error
|
|
Packit |
577717 |
mappings This tries to cover more of the errors returned by sys_perf_open
|
|
Packit |
577717 |
and map them to better results. EINVAL is a problem because it can mean
|
|
Packit |
577717 |
Conflict as well as Event not found and many other things, so it's unclear
|
|
Packit |
577717 |
what to do with it.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 299070ef src/perf_events.c src/sys_perf_event_open.c: Return proper error
|
|
Packit |
577717 |
codes for sys_perf_event_open For some reason on x86 and x86_64 we were
|
|
Packit |
577717 |
trying to set errno manually and thus over-writing the proper errno value,
|
|
Packit |
577717 |
causing all errors to look like PAPI_EPERM This removes that code, as well
|
|
Packit |
577717 |
as adds code to report ENOENT as PAPI_ENOEVENT. With this change, on IVY
|
|
Packit |
577717 |
this happens which looks more correct. ./utils/papi_command_line
|
|
Packit |
577717 |
perf::L1-ICACHE-PREFETCHES Failed adding: perf::L1-ICACHE-PREFETCHES because:
|
|
Packit |
577717 |
Event does not exist command_line.c PASSED
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-06
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* baa557ca src/papi_libpfm4_events.c src/papi_user_events.c: Coverity fixes:
|
|
Packit |
577717 |
Coverity pointed out that there was a case where load_user_eent_table() could
|
|
Packit |
577717 |
leak memory. The change in the location of the papi_free(foo) ensures that
|
|
Packit |
577717 |
the allocated memory is freed. Coverity pointed out one path through the
|
|
Packit |
577717 |
code in _papi_libpfm4_ntv_code_to_descr() that did not free up memory
|
|
Packit |
577717 |
allocated in the function. Added a free on the path in free up that memory.
|
|
Packit |
577717 |
Thanks Will Cohen.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-02-14
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 395b7bc7 src/Makefile.inc src/components/README
|
|
Packit |
577717 |
src/components/appio/tests/Makefile...: Add component tests' to the
|
|
Packit |
577717 |
install-[all|tests] target. Thanks to Gary Mohr. ------------------- This
|
|
Packit |
577717 |
makes a fairly small change to src/Makefile.inc to add logic that adds a new
|
|
Packit |
577717 |
install-comp_tests target which calls the install target for each component
|
|
Packit |
577717 |
being built. This new target is listed as a dependency on the install-tests
|
|
Packit |
577717 |
target so it will happen when the 'install-all', 'install-tests', or
|
|
Packit |
577717 |
'install-comp_tests' targets are used. A note about this change, I am not
|
|
Packit |
577717 |
real familiar with the auto make and auto conf tools. This change was enough
|
|
Packit |
577717 |
to make it work for me but if there is another file that should also be
|
|
Packit |
577717 |
changed for this modification, please help me out here. The patch also adds
|
|
Packit |
577717 |
install targets to the Makefiles for all of the components which have 'tests'
|
|
Packit |
577717 |
directories and updates the README file which talks about how to create
|
|
Packit |
577717 |
component tests. Another note, I only compile with a couple of components
|
|
Packit |
577717 |
(ours, rapl, and example) so if I fat fingered something in one of the other
|
|
Packit |
577717 |
components Makefiles I would not have noticed. Please keep me honest and make
|
|
Packit |
577717 |
sure you compile with them all enabled. Thanks for adding this capability
|
|
Packit |
577717 |
for us. Gary --------------------------- Makefile.inc: Add run_tests and
|
|
Packit |
577717 |
friends to install-tests target. Component test Makefiles' get their install
|
|
Packit |
577717 |
location to mirror what runtests expects.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-04
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 448d21ab src/components/rapl/linux-rapl.c: Remove a stray debug statement.
|
|
Packit |
577717 |
Thanks to Harald Servat for catching this.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-03-01
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* df1a75cc src/utils/command_line.c: Wrestled some horribly convoluted
|
|
Packit |
577717 |
indexing into shape. The -u and -x options now print as expected (I think).
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-01-31
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* b0f5f4d6 src/components/nvml/linux-nvml.c: linux-nvml.c: Fix type warning.
|
|
Packit |
577717 |
CUDA and NVML have an signed vs unsigned thing going on in their returned
|
|
Packit |
577717 |
device counts, cast away the warning.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-01-29
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 8490b4ee src/papi.c: General doxygen cleanup: remove all "No known bugs"
|
|
Packit |
577717 |
messages; correct and cleanup examples for PAPI_code_to_name and
|
|
Packit |
577717 |
PAPI_name_to_code
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-01-23
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 89e45a9b src/linux-memory.c src/linux-timer.c: ia64 fixes. Thanks to Tony
|
|
Packit |
577717 |
Jones <tonyj@suse.de> for patches.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-01-16
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 23e0ba2d src/components/nvml/linux-nvml.c: nvml component: cleanup a memory
|
|
Packit |
577717 |
leak We did not free a buffer at shutdown time.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-01-15
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* f3db85fc src/papi.h: papi.h bump version number.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* dfa80287 src/buildbot_configure_with_components.sh: Buildbot configure
|
|
Packit |
577717 |
script. Add cuda and nvml components, if configured, to the buildbot
|
|
Packit |
577717 |
coverage test. Note: Script now checks for existance of Makefile.cuda and
|
|
Packit |
577717 |
then Makefile.nvml so see if it can build the cuda component and then if it
|
|
Packit |
577717 |
can build the nvml component.
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* cf416e27 src/threads.c: Cleaned up compiler warning (gcc version 4.4.6)
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 59cbc8fc src/components/bgpm/CNKunit/linux-CNKunit.c
|
|
Packit |
577717 |
src/components/bgpm/IOunit/linux-IOunit.c
|
|
Packit |
577717 |
src/components/bgpm/L2unit/linux-L2unit.c...: Cleaned up compiler warnings on
|
|
Packit |
577717 |
BG/Q (gcc version 4.4.6 (BGQ-V1R1M2-120920))
|
|
Packit |
577717 |
|
|
Packit |
577717 |
2013-01-14
|
|
Packit |
577717 |
|
|
Packit |
577717 |
* 3af71658 .../build/lib.linux-x86_64-2.7/perfmon/__init__.py
|
|
Packit |
577717 |
.../lib.linux-x86_64-2.7/perfmon/perfmon_int.py
|
|
Packit |
577717 |
.../build/lib.linux-x86_64-2.7/perfmon/pmu.py...: libpfm4: remove extraneous
|
|
Packit |
577717 |
build artifacts. Steve Kaufmann reported differences between the libpfm4 I
|
|
Packit |
577717 |
imported into PAPI and the libpfm4 that can be attained with a git clone
|
|
Packit |
577717 |
git://perfmon2.git.sourceforge.net/gitroot/perfmon2/libpfm4 Self: Do libpfm4
|
|
Packit |
577717 |
imports from a fresh clone of libpfm4.
|