PAPI  5.4.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ppc64_events.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PPC64_register_t
 
struct  PPC64_groups_t
 
struct  native_event_entry_t
 
struct  PPC64_native_map_t
 

Macros

#define GROUP_INTS   8
 
#define PAPI_MAX_NATIVE_EVENTS   1024
 
#define MAX_GROUPS   (GROUP_INTS * 32)
 

Typedefs

typedef PPC64_register_t hwd_register_t
 
typedef PPC64_groups_t hwd_groups_t
 

Functions

int check_native_name ()
 

Variables

native_event_entry_t native_table [PAPI_MAX_NATIVE_EVENTS]
 
hwd_pminfo_t pminfo
 
pm_groups_info_t pmgroups
 
PPC64_native_map_t native_name_map [PAPI_MAX_NATIVE_EVENTS]
 
hwd_groups_t group_map [MAX_GROUPS]
 

Macro Definition Documentation

#define GROUP_INTS   8

Definition at line 16 of file ppc64_events.h.

#define MAX_GROUPS   (GROUP_INTS * 32)

Definition at line 24 of file ppc64_events.h.

#define PAPI_MAX_NATIVE_EVENTS   1024

Definition at line 22 of file ppc64_events.h.

Typedef Documentation

Definition at line 56 of file ppc64_events.h.

Definition at line 40 of file ppc64_events.h.

Function Documentation

int check_native_name ( )

Definition at line 168 of file ppc64_events.c.

169 {
170  enum native_name foo;
171  int itemCount = 0;
172  int i;
173 
174  /* This should ensure that the cardinality of native_name is the same
175  as that of native_name_map which may be true iff native_name
176  expresses the same data as native_name_map and there is a 1:1
177  mapping from one onto the other, though there is no guarantee of
178  order. */
180  SUBDBG( "%i is the number of elements apparently in native_name, "
181  "but really should be %i, according to native_name_map.\n",
183  PAPIERROR
184  ( "Inconsistent cardinality between native_name and native_name_map "
185  "detected in preliminary check\n" );
186  return PAPI_EBUG;
187  }
188 
189  /* The following is sanity checking only. It attempts to verify some level
190  of consistency between native_name and native_name_map and native_table.
191  This should imply that native_name is a subset of native_name_map. */
192  for ( foo = PAPI_NATIVE_MASK; foo < NATNAME_GUARD; foo++ ) {
193  for ( i = 0; i < MAX_NATNAME_MAP_INDEX; i++ ) {
194  /* Now, if the event we are on is the native event we seek... */
195  if ( ( native_name_map[i].index | PAPI_NATIVE_MASK ) == foo ) {
196  itemCount++;
197  break;
198  }
199  }
200  }
201  if ( itemCount != MAX_NATNAME_MAP_INDEX ) {
202  SUBDBG( "Inconsistency between native_name_map and native_name. "
203  "%i events matched, but really should be %i\n", itemCount,
204  MAX_NATNAME_MAP_INDEX );
205  PAPIERROR
206  ( "Inconsistent cardinality between native_name and native_name_map\n" );
207  return PAPI_EBUG;
208  }
209 
210  return PAPI_OK;
211 }
#define PAPI_NATIVE_MASK
PPC64_native_map_t native_name_map[PAPI_MAX_NATIVE_EVENTS]
Definition: aix.c:46
#define PAPI_EBUG
Definition: papi.h:257
return PAPI_OK
Definition: linux-nvml.c:458
int i
Definition: fileop.c:140
pthread_attr_t foo
Definition: iozone.c:18592
#define SUBDBG(format, args...)
Definition: papi_debug.h:63
void PAPIERROR(char *format,...)
native_name
#define MAX_NATNAME_MAP_INDEX

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

Definition at line 47 of file aix.c.

Definition at line 46 of file aix.c.

Definition at line 41 of file aix.c.

pm_groups_info_t pmgroups

Definition at line 44 of file aix.c.

hwd_pminfo_t pminfo

Definition at line 43 of file aix.c.