The same structure is used to describe both preset and native events. WARNING: This structure is very large. With current definitions, it is about 2660 bytes. Unlike previous versions of PAPI, which allocated an array of these structures within the library, this structure is carved from user space. It does not exist inside the library, and only one copy need ever exist. The basic philosophy is this:
- each preset consists of a code, some descriptors, and an array of native events;
- each native event consists of a code, and an array of register values;
- fields are shared between preset and native events, and unused where not applicable;
- To completely describe a preset event, the code must present all available information for that preset, and then walk the list of native events, retrieving and presenting information for each native event in turn. The various fields and their usage is discussed below. Enum values for event_info location field
- Enumerator:
| PAPI_LOCATION_CORE |
Measures local to core
|
| PAPI_LOCATION_CPU |
Measures local to CPU (HT?)
|
| PAPI_LOCATION_PACKAGE |
Measures local to package
|
| PAPI_LOCATION_UNCORE |
Measures uncore
|
Definition at line 914 of file papi.h.