PAPI  5.4.0.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 UPC_L2_NUM_COUNTERS
36 #define L2UNIT_MAX_EVENTS PEVT_L2UNIT_LAST_EVENT
37 #define OFFSET ( PEVT_PUNIT_LAST_EVENT + 1 )
38 
39 /* Stores private information for each event */
40 typedef struct L2UNIT_register
41 {
42  unsigned int selector;
43  /* Signifies which counter slot is being used */
44  /* Indexed from 1 as 0 has a special meaning */
46 
47 
48 /* Used when doing register allocation */
49 typedef struct L2UNIT_reg_alloc
50 {
53 
54 typedef struct L2UNIT_overflow
55 {
56  int threshold;
59 
60 /* Holds control flags */
61 typedef struct L2UNIT_control_state
62 {
64  int EventGroup_local[512];
65  int count;
66  long long counters[L2UNIT_MAX_COUNTERS];
67  int overflow; // overflow enable
69  L2UNIT_overflow_t overflow_list[512];
70  int bgpm_eventset_applied; // BGPM eventGroup applied yes or no flag
72 
73 
74 /* Holds per-thread information */
75 typedef struct L2UNIT_context
76 {
79 
80 
81 #endif /* _PAPI_L2UNIT_H */
#define L2UNIT_MAX_COUNTERS
Definition: linux-L2unit.h:35
unsigned int selector
Definition: linux-L2unit.h:42
L2UNIT_control_state_t state
Definition: linux-L2unit.h:77
Return codes and api definitions.
L2UNIT_register_t ra_bits
Definition: linux-L2unit.h:51