Blob Blame History Raw

  * 602d8dbc man/man1/papi_avail.1 man/man1/papi_clockres.1
  man/man1/papi_command_line.1...: Rebuild man pages for a 5.1.1 release.

  * 93d9be34 doc/Doxyfile-common papi.spec src/ Bump version
  number for a 5.1.1 release.


  * 8e47838d src/components/cuda/linux-cuda.c: When creating two event sets -
  one for the CUDA and one for the CPU component  - the order of event set
  creation appears crucial. When the CPU event set has been created before the
  CUDA event set then PAPI_start() for the CUDA event set works fine. However,
  if the CUDA event set has been created before the CPU event set, then
  PAPI_start(CUDA_event_set) forces the CUDA control state to be updated one
  more time, even if the CUDA event set has not been modified. The CUDA control
  state function did not properly handle this case and hence cause PAPI_start()
  to fail. This has been fixed.


  * c93dfa68 src/perf_events.c: perf_event component: update error returns 
  This passes more error return values back to PAPI. Before this change a lot
  of places were hardcoded to PAPI_EPERM even if sys_perf_event_open() was
  reporting a different error.


  * d1db58e8 src/configure src/ Force the use of pthread_mutexes
  on ARM  This lets the system libraries worry about the best way to define
  mutexes, rather than trying to hand-code in assembly around all of the
  various issues there are with atomic instructions in the ARM architecture. 
  It might make sense to enable this for *all* Linux architectures, but for now
  just do it for ARM.

  * 29662e3e src/linux-lock.h: Commit 59d3d7584b2925bd05b4b5d0f4fe89666eb8494a
  removed the definition of mb().  mb() was defined as rmb().  This just
  corrects it back.   (Note from VMW -- this fixes some things, but ARM still
  won't build on a Cortex A9 pandaboard due to the use of the "swp"
  instruction. Proper fix is probably to enforce posix-mutexes on ARM)


  * ff29fd12 src/ The test for determining whether to run valgrind
  was backwards. Correcting that allow the script to stay the same
  and one just needs to define "VALGRIND=yes" (or any non-null string) to make use valgrind.  --- src/ | 6 ++---- 1 file changed, 2
  insertions(+), 4 deletions(-)  diff --git a/src/
  b/src/ index d1ce205..9337ff2 100755 --- a/src/ +++
  b/src/ @@ -19,10 +19,8 @@ else export TESTS_QUIET fi  -if [
  "x$VALGRIND" = "x" ]; then -# Uncomment the following line to run tests using
  Valgrind -# VALGRIND="valgrind --leak-check=full"; -    VALGRIND=""; +if [
  "x$VALGRIND" != "x" ]; then +    VALGRIND="valgrind --leak-check=full"; fi 
  #CTESTS=`find ctests -maxdepth 1 -perm -u+x -type f`; --


  * 1e8101f6 src/ further refine component test find
   Exclude *.cu when looking for component tests.


  * 0b600bc5 src/ File mode changes.
  is now expected to run from the install location in addition to src. The
  script tried to remove execute from *.[c|h], now it just excludes *.[c|h]
  from the find commands.


  * 06f9c43b src/perfctr-x86.c: perfctr: don't read in event table multiple
  times  papi_libpfm3_events.c now reads in the predefined events, we don't
  also need to do this in perfctr setup_x86_presets()

  * 48d7330c src/perfctr.c: Fix segfault in perfctr.c  The preset lookup uses
  the cidx index, but in perfctr.c we weren't passing a cidx value (it was
  being left off).  The old perfctr code plays games with defining extern
  functions so the compiler wasn't giving us a warning.


  * eda94e50 src/components/bgpm/L2unit/linux-L2unit.c src/linux-bgq.c: If a
  counter is not set to overflow (threshold==0; happens when PAPI_shutdown is
  called) then we do not want to rebuild the BGPM event set, even if the event
  set has been used previously and hence "applied or attached". Usually if an
  event set has been applied or attached prior to setting overflow, the BGPM
  event set needs to be deleted and recreated (which implies malloc() from
  within BGPM). Not so, though, if threshold is 0 which is the case when
  PAPI_shutdown is called.  Note, this only applies to Punit and L2unit, not
  IOunit since an IOunit event set in not applied or attached.


  * 46f6123a src/components/bgpm/IOunit/linux-IOunit.c
  src/components/bgpm/L2unit/linux-L2unit.c...: Overflow issue on BG/Q
  resolved. Overflow with multiple components worked; overflow with multiple
  components and multiple events did not work as supposed to.


  * 6a0813f8 src/linux-common.c src/linux-memory.c: Fix the build on
  Linux-SPARC  I dug out an old SPARC machine and fixed the PAPI build on it.

  * 51fe7e53 src/perf_events.c: More comprehensive sys_perf_open to PAPI error
  mappings  This tries to cover more of the errors returned by sys_perf_open
  and map them to better results.  EINVAL is a problem because it can mean
  Conflict as well as Event not found and many other things, so it's unclear
  what to do with it.

  * 1479a67f src/perf_events.c src/sys_perf_event_open.c: Return proper error
  codes for sys_perf_event_open  For some reason on x86 and x86_64 we were
  trying to set errno manually and thus over-writing the proper errno value,
  causing all errors to look like PAPI_EPERM  This removes that code, as well
  as adds code to report ENOENT as PAPI_ENOEVENT.  With this change, on IVY
  this happens which looks more correct.  ./utils/papi_command_line
  perf::L1-ICACHE-PREFETCHES Failed adding: perf::L1-ICACHE-PREFETCHES because:
  Event does not exist command_line.c                       PASSED


  * 7a3e75e8 src/papi_libpfm4_events.c src/papi_user_events.c: Coverity fixes: 
  Coverity pointed out that there was a case where load_user_eent_table() could
  leak memory.  The change in the location of the papi_free(foo) ensures that
  the allocated memory is freed.  Coverity pointed out one path through the
  code in _papi_libpfm4_ntv_code_to_descr() that did not free up memory
  allocated in the function.  Added a free on the path in free up that memory. 
  Thanks Will Cohen.


  * b19bd1a2 src/components/rapl/linux-rapl.c: Remove a stray debug statement.
  Thanks to Harald Servat for catching this.


  * 6e5be510 src/utils/command_line.c: Wrestled some horribly convoluted
  indexing into shape. The -u and -x options now print as expected (I think).


  * 02bd70ad src/components/nvml/linux-nvml.c: linux-nvml.c: Fix type warning. 
  CUDA and NVML have an signed vs unsigned thing going on in their returned
  device counts, cast away the warning.


  * a5bed384 src/linux-memory.c src/linux-timer.c: ia64 fixes.  Thanks to Tony
  Jones <> for patches.


  * 021db23a src/components/nvml/linux-nvml.c: nvml component: cleanup a memory
  leak  We did not free a buffer at shutdown time.


  * b25fc417 src/perf_events.c: perf_event: allow running with
  perf_event_paranoid is 2  perf_event_paranoid set to 2 means allow user
  monitoring only (no kernel domain).  The code before this mistakenly disabled
  all events in this case. Also set the allowed domains to exclude


  * 12768bec src/papi_events.csv: papi_events.csv Revert a little mishap in
  adding ivbep support  Somehow the contents of papi_hl.c ended up in the
  events file.

  * 5e97ad7f src/papi_events.csv: Add identifier for ivb_ep


  * e201b8eb src/papi.c: General doxygen cleanup: remove all "No known bugs"
  messages; correct and cleanup examples for PAPI_code_to_name and