Blame ChangeLogP520.txt

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