Blame ChangeLogP412.txt

Packit Service a1973e
2011-01-17
Packit Service a1973e
Packit Service a1973e
	* src/configure: Ran autoconf to generate updated configure file.
Packit Service a1973e
Packit Service a1973e
2011-01-16
Packit Service a1973e
Packit Service a1973e
	* src/components/README: Adding a component for the FreeBSD OS that
Packit Service a1973e
	  reports the value of the thermal sensors available in the Intel
Packit Service a1973e
	  Core processors.  There are as many counters as cores, and the
Packit Service a1973e
	  value reported by each counter is in Kelvin degrees.
Packit Service a1973e
Packit Service a1973e
	* src/freebsd.c: Implemented missing
Packit Service a1973e
	  _papi_freebsd_ntv_name_to_code.
Packit Service a1973e
Packit Service a1973e
	* src/: Makefile.in, Makefile.inc, configure.in, ctests/Makefile:
Packit Service a1973e
	  Fix dependency on -ldl
Packit Service a1973e
Packit Service a1973e
	  Now configure checks if dl* symbols are in the base system
Packit Service a1973e
	  libraries (i.e., no -ldl needed). If so, avoid adding -ldl to
Packit Service a1973e
	  shlib example.
Packit Service a1973e
Packit Service a1973e
	  If dl* symbols are not find in the base system libraries, then
Packit Service a1973e
	  check for -ldl, and if it exists, pass it to ctests/Makefile
Packit Service a1973e
	  through Makefile. If -ldl is not found, fail at configure time.
Packit Service a1973e
Packit Service a1973e
	* src/ctests/multiattach.c: Fix to compile in FreeBSD.
Packit Service a1973e
Packit Service a1973e
	* src/: freebsd-memory.c, freebsd.c: Code cleanup.
Packit Service a1973e
Packit Service a1973e
2011-01-14
Packit Service a1973e
Packit Service a1973e
	* src/: perf_events.c, perfmon.c: [PATCH 18/18] papi: make
Packit Service a1973e
	  _perfmon2_pfm_pmu_type variable static
Packit Service a1973e
Packit Service a1973e
	  In perf_events.c and perfmon.c the variable
Packit Service a1973e
	  _perfmon2_pfm_pmu_type is used locally only, making it static.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: linux-bgp.c, linux-ia64.c, perf_events.c, perfctr.c,
Packit Service a1973e
	  perfmon.c: [PATCH 17/18] papi: remove inline_static macro in
Packit Service a1973e
	  Linux only code
Packit Service a1973e
Packit Service a1973e
	  We better replace the macro with 'static inline'. Not sure if
Packit Service a1973e
	  this works for all compilers, so doing it for Linux only files.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/x86_cache_info.c: [PATCH 16/18] papi: remove static inline
Packit Service a1973e
	  function declaration
Packit Service a1973e
Packit Service a1973e
	  By moving the static inline function cpuid() to the begin of the
Packit Service a1973e
	  file we may remove its declaration.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/linux.h: [PATCH 15/18] papi: remove unused linux.h header
Packit Service a1973e
	  file
Packit Service a1973e
Packit Service a1973e
	  This file is included nowhere, removing it.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/linux-ia64.c: [PATCH 14/18] papi: fix array out of bounds
Packit Service a1973e
	  access
Packit Service a1973e
Packit Service a1973e
	  Fixing the following warning:
Packit Service a1973e
Packit Service a1973e
	    linux-ia64.c: In function ?_ia64_init_substrate?:
Packit Service a1973e
	    linux-ia64.c:1123:22: warning: array subscript is above array
Packit Service a1973e
	  bounds
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: configure, configure.in: [PATCH 13/18] papi: remove
Packit Service a1973e
	  unnecassary checks in configure.in
Packit Service a1973e
Packit Service a1973e
	  The check is obsolete and covered by default.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: papi_pfm_events.c, perf_events.c, perfmon.c, perfmon.h:
Packit Service a1973e
	  [PATCH 12/18] papi: include perfmon header files only where
Packit Service a1973e
	  necessary
Packit Service a1973e
Packit Service a1973e
	  This patch includes perfmon header files only where necessary.
Packit Service a1973e
	  Declarations in perfmon/perfmon.h are never used, removing its
Packit Service a1973e
	  inclusion. Itanium header files are needed only in perfmon.c and
Packit Service a1973e
	  perf_events.c.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: papi_pfm_events.c, perfctr-x86.c: [PATCH 11/18] papi: make
Packit Service a1973e
	  some functions in papi_pfm_events.c static
Packit Service a1973e
Packit Service a1973e
	  Functions _pfm_decode_native_event() and _pfm_convert_umask() are
Packit Service a1973e
	  internally used only. Remove export declaration and make it
Packit Service a1973e
	  static.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: Rules.pfm, linux-ia64-pfm.h, linux-ia64.c, pfmwrap.h:
Packit Service a1973e
	  [PATCH 10/18] papi: rename pfmwrap.h -> linux-ia64-pfm.h
Packit Service a1973e
Packit Service a1973e
	  pfmwrap.h actually only contains IA64 code included by
Packit Service a1973e
	  linux-ia64.c.  Rename it to linux-ia64-pfm.h.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: linux-ia64.c, pfmwrap.h: [PATCH 09/18] papi, linux-ia64:
Packit Service a1973e
	  make inline functions static
Packit Service a1973e
Packit Service a1973e
	  Inline functions should be static. Fixing it.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: linux-ia64.c, papi_pfm_events.c: [PATCH 08/18] papi: fix
Packit Service a1973e
	  _papi_pfm_ntv_name_to_code() function interface
Packit Service a1973e
Packit Service a1973e
	  The function is supposed to return a PAPI error code which is an
Packit Service a1973e
	  integer.  Make the function's return code an integer too.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/perfctr-ppc64.c: [PATCH 07/18] papi: fix spelling modifer ->
Packit Service a1973e
	  modifier
Packit Service a1973e
Packit Service a1973e
	  Fix spelling: modifer -> modifier
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: linux-ia64.c, papi_pfm_events.c, papi_pfm_events.h,
Packit Service a1973e
	  perf_events.c, perfctr-x86.c, perfmon.c: [PATCH 06/18] papi:
Packit Service a1973e
	  define function interface in papi_pfm_events.h
Packit Service a1973e
Packit Service a1973e
	  The header file should define the interface that
Packit Service a1973e
	  papi_pfm_events.c provides.  Declarations used internally only in
Packit Service a1973e
	  papi_pfm_events.c are moved there.  Now papi_pfm_events.h only
Packit Service a1973e
	  contains the prototype functions. Remapping of definitions is
Packit Service a1973e
	  removed too. This cleanup removes duplicate code and better
Packit Service a1973e
	  defines the interface.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: Rules.perfctr, Rules.perfctr-pfm, linux.c, multiplex.c,
Packit Service a1973e
	  papi_vector.c, perfctr-x86.c, perfctr.c, ctests/test_utils.c:
Packit Service a1973e
	  [PATCH 05/18] papi: rename linux.c -> perfctr.c
Packit Service a1973e
Packit Service a1973e
	  The name of linux.c is misleading, it only implements perfctr
Packit Service a1973e
	  functionality. Thus renaming it to perfctr.c.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: papi_pfm_events.c, perfctr-x86.c: [PATCH 04/18] papi: make
Packit Service a1973e
	  _papi_pfm_init() static by moving it to perfctr-x86.c
Packit Service a1973e
Packit Service a1973e
	  _papi_pfm_init() is only used in perfctr-x86.c but implemented in
Packit Service a1973e
	  papi_pfm_events.c. Move it to perfctr-x86.c and make it static.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/perfmon.c: [PATCH 03/18] papi: make some functions static in
Packit Service a1973e
	  perfmon.c
Packit Service a1973e
Packit Service a1973e
	  The functions are only used in perfmon.c, making it static.
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/: Rules.pfm, Rules.pfm_pe: [PATCH 02/18] papi: do not compile
Packit Service a1973e
	  libpfm examples to support cross compilation
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/Rules.pfm: To cross compile papi we need to pass the
Packit Service a1973e
	  architecture to libpfm.  Otherwise it will be confused and tries
Packit Service a1973e
	  to build the host's make targets with the cross compiler ending
Packit Service a1973e
	  up in the following error:
Packit Service a1973e
Packit Service a1973e
	   pfmlib_amd64.c: In function ?cpuid?:
Packit Service a1973e
	   pfmlib_amd64.c:166:3: error: impossible register constraint in
Packit Service a1973e
	  ?asm?
Packit Service a1973e
	   pfmlib_amd64.c:172:1: error: impossible register constraint in
Packit Service a1973e
	  ?asm?
Packit Service a1973e
	   make[2]: *** [pfmlib_amd64.o] Error 1
Packit Service a1973e
Packit Service a1973e
	  Signed-off-by: Robert Richter <robert.richter at amd.com>
Packit Service a1973e
Packit Service a1973e
	* src/ctests/Makefile: Temporarily back out the FreeBSD makefile
Packit Service a1973e
	  change that breaks the build so that I can properly test some
Packit Service a1973e
	  other changes.
Packit Service a1973e
Packit Service a1973e
	* src/papi_events.csv: Change the Core2 L1_TCM preset to be
Packit Service a1973e
	  LLC_REFERENCES
Packit Service a1973e
Packit Service a1973e
	  The current event (L2_RQSTS:SELF:MESI) returns an event
Packit Service a1973e
	  equivelent to LLC_REFERENCES on libpfm3, but in libpfm4
Packit Service a1973e
	  L2_RQSTS:SELF:MESI maps instead to L2_RQSTS:SELF:MESI:ALL which
Packit Service a1973e
	  counts prefetches too.
Packit Service a1973e
Packit Service a1973e
	  By moving to LLC_REFERENCES both libpfm3 and libpfm4 count the
Packit Service a1973e
	  proper value.  This also makes the "tenth" benchmark pass  when
Packit Service a1973e
	  using PAPI/libpfm4.
Packit Service a1973e
Packit Service a1973e
	* src/configure: Update to match current configure.in
Packit Service a1973e
Packit Service a1973e
	* src/ctests/Makefile: Fix the if / fi syntax of the last change.
Packit Service a1973e
Packit Service a1973e
2011-01-13
Packit Service a1973e
Packit Service a1973e
	* src/: Makefile.inc, configure.in, freebsd-memory.c, freebsd.c,
Packit Service a1973e
	  ctests/Makefile, ctests/zero_attach.c: Changes from Harald Servat
Packit Service a1973e
	  for freebsd support. Note that configure has not been regenerated
Packit Service a1973e
	  from this version of configure.in.
Packit Service a1973e
Packit Service a1973e
	* papi.spec, doc/Doxyfile, doc/Doxyfile-everything,
Packit Service a1973e
	  src/Makefile.in, src/configure.in, src/papi.h: Change version
Packit Service a1973e
	  numbers to 4.1.2 in preparation for a release.
Packit Service a1973e
Packit Service a1973e
2011-01-12
Packit Service a1973e
Packit Service a1973e
	* src/ctests/code2name.c: The code2name test was assuming that the
Packit Service a1973e
	  native events start right at PAPI_NATIVE_MASK.  We specifically
Packit Service a1973e
	  document elsewhere this might not be the case, and indeed for the
Packit Service a1973e
	  libpfm4 code this fails.
Packit Service a1973e
Packit Service a1973e
	  This fix changes the code to properly enunmerate the native
Packit Service a1973e
	  events for the test.
Packit Service a1973e
Packit Service a1973e
2011-01-06
Packit Service a1973e
Packit Service a1973e
	* src/: papi.c, papi_internal.c: Fix a long-standing bug where we
Packit Service a1973e
	  were walking off the end of the EventInfoArray in
Packit Service a1973e
	  remap_event_position().
Packit Service a1973e
Packit Service a1973e
	  This was noticed by Richard Strong when instrumenting some of the
Packit Service a1973e
	  PARSEC benchmarks.
Packit Service a1973e
Packit Service a1973e
	  In papi_internal.c in the remap_event_position() function we have
Packit Service a1973e
	  the loop
Packit Service a1973e
Packit Service a1973e
		  for ( i = 0; i <= total_events; i++ ) {
Packit Service a1973e
Packit Service a1973e
	   It seems weird that we are doing a <= compare, and in fact this
Packit Service a1973e
	  is why we
Packit Service a1973e
	   walk off the end of the array sometimes.  But why only somtimes?
Packit Service a1973e
	   If I
Packit Service a1973e
	   change that <= to a < then many of the regression tests fail.
Packit Service a1973e
Packit Service a1973e
	   It turns out that the two calls to remap_event_position() in
Packit Service a1973e
	   papi_internal.c are called with ESI->NumberOfEvents being one
Packit Service a1973e
	  less
Packit Service a1973e
	   than it should be, as it is incremented after the
Packit Service a1973e
	  remap_event_position()
Packit Service a1973e
	   call (though the new events are added before the call).  This is
Packit Service a1973e
	  why
Packit Service a1973e
	   <= is used.
Packit Service a1973e
Packit Service a1973e
	   However the call in PAPI_start() happens with
Packit Service a1973e
	  ESI->NumberOfEvents
Packit Service a1973e
	   with the right value.  In this case < should be used.
Packit Service a1973e
Packit Service a1973e
	   The fix I've come up with has a NumberOfEvents value passed in
Packit Service a1973e
	  as a
Packit Service a1973e
	   parameter to remap_event_position().  This way the value+1 can
Packit Service a1973e
	   be passed in the former cases.
Packit Service a1973e
Packit Service a1973e
2010-12-20
Packit Service a1973e
Packit Service a1973e
	* src/aix.c: Problem on POWER6 with AIX: pm_initialize() cannot be
Packit Service a1973e
	  called multiple times with PM_CURRENT. Instead, use the actual
Packit Service a1973e
	  proc type - here PM_POWER6 - and multiple invocations are no
Packit Service a1973e
	  longer a problem. Ctests/multiplex1.c passes now.
Packit Service a1973e
Packit Service a1973e
2010-12-15
Packit Service a1973e
Packit Service a1973e
	* src/run_tests.sh: If we don't run any tests, get buildbot's
Packit Service a1973e
	  attention.
Packit Service a1973e
Packit Service a1973e
2010-12-14
Packit Service a1973e
Packit Service a1973e
	* src/aix.c: number_of_nodes var was set to zero in
Packit Service a1973e
	  _aix_get_system_info. This caused the papi utilities to report
Packit Service a1973e
	  that the number of total CPUs is zero. This also caused
Packit Service a1973e
	  ctests/hwinfo to fail on POWER6 with AIX.
Packit Service a1973e
Packit Service a1973e
2010-12-13
Packit Service a1973e
Packit Service a1973e
	* src/papi_internal.h: Slight re-ordering of the no_vararg_macro
Packit Service a1973e
	  debug statements.  (I actually tested the changes with
Packit Service a1973e
	  --with-debug and without on aix)
Packit Service a1973e
Packit Service a1973e
2010-12-10
Packit Service a1973e
Packit Service a1973e
	* src/run_tests.sh: Change the syntax on our find command to be
Packit Service a1973e
	  more posix compliant.
Packit Service a1973e
Packit Service a1973e
	  GNU is Not UNIX, cute acronym or massive compatibility
Packit Service a1973e
	  conspiracy.  I fall back to posix, you decide!
Packit Service a1973e
Packit Service a1973e
	* src/: configure, configure.in: Update configure file to be aware
Packit Service a1973e
	  of the existence of AIX-Power7.
Packit Service a1973e
Packit Service a1973e
	  PAPI still won't build, but it gets further than before.
Packit Service a1973e
Packit Service a1973e
2010-12-09
Packit Service a1973e
Packit Service a1973e
	* src/run_tests.sh: Make our grep invocation posix compliant.
Packit Service a1973e
	  (--invert-match == -v & --regex == -e )
Packit Service a1973e
Packit Service a1973e
	* src/ctests/overflow_allcounters.c: Separate 'indent' check-in so
Packit Service a1973e
	  that the previous modifications are comprehensible :)
Packit Service a1973e
Packit Service a1973e
	* src/ctests/overflow_allcounters.c: The overflow_allcounters test
Packit Service a1973e
	  failed on Power6 with AIX (pmapi) but passes on Power6 with linux
Packit Service a1973e
	  (perf_events | perfctr). Therefore detect if we're running on
Packit Service a1973e
	  AIX, print a warning, but still pass the test.
Packit Service a1973e
Packit Service a1973e
	* src/run_tests.sh: Move away from echo -n to the shell builtin
Packit Service a1973e
	  printf (echo -n is not portable)
Packit Service a1973e
Packit Service a1973e
	  non-argumented instances of echo are fine.
Packit Service a1973e
Packit Service a1973e
	* src/run_tests_exclude.txt: Skip the non-test ctests/burn
Packit Service a1973e
	  executable.
Packit Service a1973e
Packit Service a1973e
	* src/Matlab/: PAPI_Matlab.c, PAPI_Matlab.readme: Change
Packit Service a1973e
	  documentation for matlab integration to reflect the need to link
Packit Service a1973e
	  to the libpapi.so library and not the static one.
Packit Service a1973e
Packit Service a1973e
	  Also listed me and the ptools-perfapi list as points of contact
Packit Service a1973e
	  for future questions *gulp*
Packit Service a1973e
Packit Service a1973e
2010-12-08
Packit Service a1973e
Packit Service a1973e
	* src/: configure, configure.in, run_tests.sh: Clean up (purge)
Packit Service a1973e
	  references to libpfm-2.x in configure and run_tests.sh
Packit Service a1973e
Packit Service a1973e
	* src/Matlab/PAPI_Matlab.c: MATLAB fixups: Calls to PAPI('stop')
Packit Service a1973e
	  now stop counting even if we ignore the return values.
Packit Service a1973e
Packit Service a1973e
	* src/Matlab/PAPI_Matlab.c: Fixup for papi matlab integration.
Packit Service a1973e
Packit Service a1973e
	  Calls to PAPI('stop') don't cause errors now.  If you call
Packit Service a1973e
	  PAPI('stop') with out capturing its return value, it does
Packit Service a1973e
	  nothing.
Packit Service a1973e
Packit Service a1973e
	* src/Matlab/PAPI_Matlab.c: mex does not like c++ style comments
Packit Service a1973e
	  (double-backslash)
Packit Service a1973e
Packit Service a1973e
2010-12-06
Packit Service a1973e
Packit Service a1973e
	* src/solaris-ultra.c: Resolved a couple type cast warnings.  Also
Packit Service a1973e
	  initialized a variable and enabled GET_OVERFLOW_ADDRESS code in
Packit Service a1973e
	  two places. The overflow test suite still has a number of
Packit Service a1973e
	  failures and is disabled in configure.
Packit Service a1973e
Packit Service a1973e
2010-11-24
Packit Service a1973e
Packit Service a1973e
	* src/papi_internal.h: That last commit was lacking in
Packit Service a1973e
	  creativity...  By having the debug function names still a macro,
Packit Service a1973e
	  we get all the goodness of __FILE__ etc bing in the right place
Packit Service a1973e
	  and still not using variadic macros.
Packit Service a1973e
Packit Service a1973e
	  #define SUBDBG do{ if (_papi_hwi_debug & DEBUG_SUBSTRATE )
Packit Service a1973e
	  print_the_label; } while (0); _SUBDBG was the clever line that
Packit Service a1973e
	  eluded me yesterday.
Packit Service a1973e
Packit Service a1973e
2010-11-23
Packit Service a1973e
Packit Service a1973e
	* src/papi_internal.h: Turns out that when DEBUG and
Packit Service a1973e
	  NO_VARARG_MACRO are true, we didn't correctly implement
Packit Service a1973e
	  component-level debug functions.  This change uses variable
Packit Service a1973e
	  argument lists ( man stdarg) to correctly handle this case. (
Packit Service a1973e
	  papi_internal.h defines these)
Packit Service a1973e
Packit Service a1973e
	  Note that debugging information is not completly useful; due to
Packit Service a1973e
	  functions which use variable argument lists not being inlinable (
Packit Service a1973e
	  the inline keyword is afterall only a sugestion), all messages
Packit Service a1973e
	  appear to come from papi_internal.h:PAPIDEBUG:525:22619 and I am
Packit Service a1973e
	  not clever enough to get around that in general right now.
Packit Service a1973e
Packit Service a1973e
	  Thanks to Maynard Johnson for reporting.
Packit Service a1973e
Packit Service a1973e
	* src/papi_events.csv: Enable the PAPI_HW_INT event on Nehalem, as
Packit Service a1973e
	  tests show the   HW_INT:RCV event is the proper one to use here.
Packit Service a1973e
Packit Service a1973e
2010-11-22
Packit Service a1973e
Packit Service a1973e
	* src/papi_events.csv: Update the preset events for Nehalem, as
Packit Service a1973e
	  contributed by    Michel Brown.
Packit Service a1973e
Packit Service a1973e
2010-11-19
Packit Service a1973e
Packit Service a1973e
	* src/: perf_events.h, perf_events.c: Address problem with overflow
Packit Service a1973e
	  handler continuing to count events.  Add overflow status field to
Packit Service a1973e
	  determine if an event set has any events enabled for overflow.
Packit Service a1973e
	  Use IOC_REFRESH instead of IOC_ENABLE when overflowing.
Packit Service a1973e
	  Implement IOC_REFRESH at end of overflow handler.  None of this
Packit Service a1973e
	  worked.  Also implemented an IOC_DISABLE at top of overflow
Packit Service a1973e
	  handler. That worked, even though it's suboptimal.
Packit Service a1973e
Packit Service a1973e
2010-11-17
Packit Service a1973e
Packit Service a1973e
	* src/utils/command_line.c: test_fail_exit() substituted for
Packit Service a1973e
	  test_fail().	This became necessary because
Packit Service a1973e
	  PAPI_event_name_to_code now returns a PAPI_EATTR error if the
Packit Service a1973e
	  base name matches but attribute names don't. This utility was
Packit Service a1973e
	  producing an error message and then running the test. Perfctr
Packit Service a1973e
	  implementations will happily add a base name with no umasks and
Packit Service a1973e
	  then generate 0 counts. This fix prevents that behavior.
Packit Service a1973e
Packit Service a1973e
	* src/ctests/test_utils.c: Rewrite of test_fail_exit() to call
Packit Service a1973e
	  test_fail(). It should be noted that test_fail_exit() behaves the
Packit Service a1973e
	  way test_fail() used to behave, i.e. it exits after printing the
Packit Service a1973e
	  fail message. However, test_fail no longer exits as that was
Packit Service a1973e
	  causing problems with multi-threaded tests not freeing memory. In
Packit Service a1973e
	  those cases where an exit is desired, calls to test_fail_exit()
Packit Service a1973e
	  should be substituted for calls to test_fail().
Packit Service a1973e
Packit Service a1973e
	* src/: papi.h, papi_data.c, papi_pfm_events.c, perfmon.c: Added 3
Packit Service a1973e
	  new error codes: PAPI_EATTR, PAPI_ECOUNT, and PAPI_ECOMBO. These
Packit Service a1973e
	  map onto equivalent errors in libpfm and are provided to give
Packit Service a1973e
	  more detail on failures in libpfm calls. A new error mapping
Packit Service a1973e
	  function has been added to papi_pfm_events.c to map libpfm errors
Packit Service a1973e
	  to PAPI errors, and this function is employed in the
Packit Service a1973e
	  compute_kernel_args function in perfmon.c. It could also be
Packit Service a1973e
	  deployed elsewhere, but so far is not.
Packit Service a1973e
Packit Service a1973e
2010-11-09
Packit Service a1973e
Packit Service a1973e
	* src/x86_cache_info.c: The cpuid change yesterday broke
Packit Service a1973e
	  compilation on a 32-bit Pentium 3.  Fix the inline assembly to
Packit Service a1973e
	  compile properly there too.
Packit Service a1973e
Packit Service a1973e
2010-11-08
Packit Service a1973e
Packit Service a1973e
	* src/: configure, configure.in: Fix configure script to properly
Packit Service a1973e
	  detect Pentium M machines.
Packit Service a1973e
Packit Service a1973e
	* src/x86_cache_info.c: Add cpuid leaf4 cache detection support.
Packit Service a1973e
Packit Service a1973e
	  This has been available on intel processors since Late model P4s
Packit Service a1973e
	  and all Core2 and newer.  It returns cache info in a different
Packit Service a1973e
	  way than the older leaf2 method.
Packit Service a1973e
Packit Service a1973e
	  Currently we only use leaf4 data if the leaf2 results tell us to
Packit Service a1973e
	  (apparently Westmere does that).  Otherwise we use the old
Packit Service a1973e
	  method.
Packit Service a1973e
Packit Service a1973e
	  It might be interesting to use more of the leaf4 info.  It can
Packit Service a1973e
	  tell us things such as how many processors share a socket, how
Packit Service a1973e
	  many processors share a cache, and info on the inclusivity of a
Packit Service a1973e
	  cache.
Packit Service a1973e
Packit Service a1973e
	* src/: linux.c, perfctr-x86.c: Add perfctr Westmere support.
Packit Service a1973e
Packit Service a1973e
	* src/perfctr-2.6.x/: patches/aliases, usr.lib/Makefile: Fix
Packit Service a1973e
	  conflicts from perfctr merge.
Packit Service a1973e
Packit Service a1973e
2010-11-06
Packit Service a1973e
Packit Service a1973e
	* src/perf_events.c: Replace KERNEL_CHECKS_SCHEDUABILITY_UPON_OPEN
Packit Service a1973e
	  with the proper dynamic kernel version number checking.  This
Packit Service a1973e
	  should be the last place in our perf_events code that was using a
Packit Service a1973e
	  hard-coded rather than dynamic check for a kernel-version related
Packit Service a1973e
	  bugfix.
Packit Service a1973e
Packit Service a1973e
	* src/perf_events.c: This patch allows PAPI to read multiple events
Packit Service a1973e
	  at a time out of the kernel when the kernel is new enough (2.6.34
Packit Service a1973e
	  or newer).  The previous code required setting a #define by hand
Packit Service a1973e
	  to get this behavior, this new code picks the proper way to do
Packit Service a1973e
	  things based on the kernel version number.
Packit Service a1973e
Packit Service a1973e
	  The patch was supplied by  Gary Mohr
Packit Service a1973e
Packit Service a1973e
2010-11-04
Packit Service a1973e
Packit Service a1973e
	* src/: linux.c, perfctr-x86.c: Replace occurrances of
Packit Service a1973e
	  PERFCTR_X86_INTEL_COREI7 with PERFCTR_X86_INTEL_NHLM as the
Packit Service a1973e
	  former has been documented as being deprecated as of perfctr
Packit Service a1973e
	  2.6.41.
Packit Service a1973e
Packit Service a1973e
2010-11-03
Packit Service a1973e
Packit Service a1973e
	* src/cycle.h: Change "unicos" to "CLE" since "unicos" no longer
Packit Service a1973e
	  exists.
Packit Service a1973e
Packit Service a1973e
2010-10-26
Packit Service a1973e
Packit Service a1973e
	* src/examples/locks_pthreads.c: Add a call to PAPI_thread_init(),
Packit Service a1973e
	  Thanks to Martin Schindewolf for pointing this out.
Packit Service a1973e
Packit Service a1973e
2010-10-21
Packit Service a1973e
Packit Service a1973e
	* src/: papi.c, components/lmsensors/linux-lmsensors.h: Fixup url's
Packit Service a1973e
	  that checkbot was finding in error.
Packit Service a1973e
Packit Service a1973e
2010-10-05
Packit Service a1973e
Packit Service a1973e
	* src/ctests/: multiattach.c, zero_attach.c: The zero_attach and
Packit Service a1973e
	  multiattach were forking before off children	 before testing
Packit Service a1973e
	  that PAPI in fact is available.  Then when PAPI_init()   failed
Packit Service a1973e
	  the children weren't being cleaned up properly.  This was
Packit Service a1973e
	  confusing build bot.	This changeset moves the fork to after the
Packit Service a1973e
	  check plus do a fail_exit() on failure.
Packit Service a1973e
Packit Service a1973e
	* src/: configure, configure.in: Solaris build will fail if
Packit Service a1973e
	  /usr/ccs/bin isn't in the path.  Have it check there for "ar" on
Packit Service a1973e
	  Solaris systems if it can't be found	 by normal methods.
Packit Service a1973e
Packit Service a1973e
	* src/: configure, configure.in: Only run the EAR tests on itanium
Packit Service a1973e
	  systems.
Packit Service a1973e
Packit Service a1973e
	* src/: configure, configure.in: Pentium4-perfctr was skipping most
Packit Service a1973e
	  of the CTESTS.  Make sure they are all run.
Packit Service a1973e
Packit Service a1973e