PAPI  5.3.2.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
linux-L2unit.h
Go to the documentation of this file.
1 /****************************/
2 /* THIS IS OPEN SOURCE CODE */
3 /****************************/
4 
20 #ifndef _PAPI_L2UNIT_H
21 #define _PAPI_L2UNIT_H
22 
23 #include "papi.h"
24 #include "papi_internal.h"
25 #include "papi_vector.h"
26 #include "papi_memory.h"
27 #include "extras.h"
28 #include "../../../linux-bgq-common.h"
29 
30 
31 /************************* DEFINES SECTION ***********************************
32  *******************************************************************************/
33 
34 /* this number assumes that there will never be more events than indicated */
35 #define L2UNIT_MAX_COUNTERS PEVT_L2UNIT_LAST_EVENT
36 #define OFFSET ( PEVT_PUNIT_LAST_EVENT + 1 )
37 
38 /* Stores private information for each event */
39 typedef struct L2UNIT_register
40 {
41  unsigned int selector;
42  /* Signifies which counter slot is being used */
43  /* Indexed from 1 as 0 has a special meaning */
45 
46 
47 /* Used when doing register allocation */
48 typedef struct L2UNIT_reg_alloc
49 {
52 
53 typedef struct L2UNIT_overflow
54 {
55  int threshold;
58 
59 /* Holds control flags */
60 typedef struct L2UNIT_control_state
61 {
63  int EventGroup_local[512];
64  int count;
65  long long counters[L2UNIT_MAX_COUNTERS];
66  int overflow; // overflow enable
68  L2UNIT_overflow_t overflow_list[512];
69  int bgpm_eventset_applied; // BGPM eventGroup applied yes or no flag
71 
72 
73 /* Holds per-thread information */
74 typedef struct L2UNIT_context
75 {
78 
79 
80 #endif /* _PAPI_L2UNIT_H */
#define L2UNIT_MAX_COUNTERS
Definition: linux-L2unit.h:35
unsigned int selector
Definition: linux-L2unit.h:41
L2UNIT_control_state_t state
Definition: linux-L2unit.h:76
Return codes and api definitions.
L2UNIT_register_t ra_bits
Definition: linux-L2unit.h:50