The Gaudi Framework  v29r0 (ff2e7097)
perfmon.h File Reference
#include <stdint.h>
#include <sys/types.h>
#include "perfmon_v2.h"
Include dependency graph for perfmon.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pfarg_sinfo_t
 
struct  pfarg_pmr_t
 
struct  pfarg_pmd_attr_t
 
struct  pfarg_set_desc_t
 
struct  pfarg_set_info_t
 
struct  pfarg_ovfl_msg_t
 
union  pfarg_msg_t
 

Macros

#define PFM_MAX_PMCS   PFM_ARCH_MAX_PMCS
 
#define PFM_MAX_PMDS   PFM_ARCH_MAX_PMDS
 
#define PFM_BPL   ( sizeof( uint64_t ) << 3 )
 
#define PFM_BVSIZE(x)   ( ( ( x ) + PFM_BPL - 1 ) / PFM_BPL )
 
#define PFM_PMD_BV   PFM_BVSIZE( PFM_MAX_PMDS )
 
#define PFM_PMC_BV   PFM_BVSIZE( PFM_MAX_PMCS )
 
#define PFM_FL_NOTIFY_BLOCK   0x01 /* block task on user notifications */
 
#define PFM_FL_SYSTEM_WIDE   0x02 /* create a system wide context */
 
#define PFM_FL_SMPL_FMT   0x04 /* session uses sampling format */
 
#define PFM_FL_OVFL_NO_MSG   0x80 /* no overflow msgs */
 
#define PFM_REGFL_OVFL_NOTIFY   0x1 /* PMD: send notification on event */
 
#define PFM_REGFL_RANDOM   0x2 /* PMD: randomize value after event */
 
#define PFM_REGFL_NO_EMUL64   0x4 /* PMC: no 64-bit emulation */
 
#define PFM_RW_PMD   1 /* simplified PMD (pfarg_pmr_t) */
 
#define PFM_RW_PMC   2 /* PMC registers (pfarg_pmr_t) */
 
#define PFM_RW_PMD_ATTR   3 /* extended PMD (pfarg_pmd_attr) */
 
#define PFM_NO_TARGET   -1 /* no target, detach */
 
#define PFM_ST_START   0x1 /* start monitoring */
 
#define PFM_ST_STOP   0x2 /* stop monitoring */
 
#define PFM_ST_RESTART   0x3 /* resume after notify */
 
#define PFM_SETFL_OVFL_SWITCH   0x01 /* enable switch on overflow (subject to individual switch_cnt */
 
#define PFM_SETFL_TIME_SWITCH   0x02 /* switch set on timeout */
 
#define PFM_MSG_OVFL   1 /* an overflow happened */
 
#define PFM_MSG_END   2 /* thread to which context was attached ended */
 
#define PFM_VERSION_MAJOR(x)   ( ( ( x ) >> 16 ) & 0xffff )
 
#define PFM_VERSION_MINOR(x)   ( (x)&0xffff )
 

Typedefs

typedef int os_err_t
 

Functions

os_err_t pfm_create (int flags, pfarg_sinfo_t *sif,...)
 
os_err_t pfm_write (int fd, int flags, int type, void *reg, size_t n)
 
os_err_t pfm_read (int fd, int flags, int type, void *reg, size_t n)
 
os_err_t pfm_set_state (int fd, int flags, int state)
 
os_err_t pfm_create_sets (int fd, int flags, pfarg_set_desc_t *s, size_t sz)
 
os_err_t pfm_getinfo_sets (int fd, int flags, pfarg_set_info_t *s, size_t sz)
 
os_err_t pfm_attach (int fd, int flags, int target)
 

Macro Definition Documentation

#define PFM_BPL   ( sizeof( uint64_t ) << 3 )

Definition at line 55 of file perfmon.h.

#define PFM_BVSIZE (   x)    ( ( ( x ) + PFM_BPL - 1 ) / PFM_BPL )

Definition at line 56 of file perfmon.h.

#define PFM_FL_NOTIFY_BLOCK   0x01 /* block task on user notifications */

Definition at line 90 of file perfmon.h.

#define PFM_FL_OVFL_NO_MSG   0x80 /* no overflow msgs */

Definition at line 93 of file perfmon.h.

#define PFM_FL_SMPL_FMT   0x04 /* session uses sampling format */

Definition at line 92 of file perfmon.h.

#define PFM_FL_SYSTEM_WIDE   0x02 /* create a system wide context */

Definition at line 91 of file perfmon.h.

#define PFM_MAX_PMCS   PFM_ARCH_MAX_PMCS

Definition at line 48 of file perfmon.h.

#define PFM_MAX_PMDS   PFM_ARCH_MAX_PMDS

Definition at line 49 of file perfmon.h.

#define PFM_MSG_END   2 /* thread to which context was attached ended */

Definition at line 211 of file perfmon.h.

#define PFM_MSG_OVFL   1 /* an overflow happened */

Definition at line 210 of file perfmon.h.

#define PFM_NO_TARGET   -1 /* no target, detach */

Definition at line 147 of file perfmon.h.

#define PFM_PMC_BV   PFM_BVSIZE( PFM_MAX_PMCS )

Definition at line 58 of file perfmon.h.

#define PFM_PMD_BV   PFM_BVSIZE( PFM_MAX_PMDS )

Definition at line 57 of file perfmon.h.

#define PFM_REGFL_NO_EMUL64   0x4 /* PMC: no 64-bit emulation */

Definition at line 114 of file perfmon.h.

#define PFM_REGFL_OVFL_NOTIFY   0x1 /* PMD: send notification on event */

Definition at line 112 of file perfmon.h.

#define PFM_REGFL_RANDOM   0x2 /* PMD: randomize value after event */

Definition at line 113 of file perfmon.h.

#define PFM_RW_PMC   2 /* PMC registers (pfarg_pmr_t) */

Definition at line 141 of file perfmon.h.

#define PFM_RW_PMD   1 /* simplified PMD (pfarg_pmr_t) */

Definition at line 140 of file perfmon.h.

#define PFM_RW_PMD_ATTR   3 /* extended PMD (pfarg_pmd_attr) */

Definition at line 142 of file perfmon.h.

#define PFM_SETFL_OVFL_SWITCH   0x01 /* enable switch on overflow (subject to individual switch_cnt */

Definition at line 180 of file perfmon.h.

#define PFM_SETFL_TIME_SWITCH   0x02 /* switch set on timeout */

Definition at line 181 of file perfmon.h.

#define PFM_ST_RESTART   0x3 /* resume after notify */

Definition at line 154 of file perfmon.h.

#define PFM_ST_START   0x1 /* start monitoring */

Definition at line 152 of file perfmon.h.

#define PFM_ST_STOP   0x2 /* stop monitoring */

Definition at line 153 of file perfmon.h.

#define PFM_VERSION_MAJOR (   x)    ( ( ( x ) >> 16 ) & 0xffff )

Definition at line 213 of file perfmon.h.

#define PFM_VERSION_MINOR (   x)    ( (x)&0xffff )

Definition at line 214 of file perfmon.h.

Typedef Documentation

typedef int os_err_t

Definition at line 69 of file perfmon.h.

Function Documentation

os_err_t pfm_attach ( int  fd,
int  flags,
int  target 
)
os_err_t pfm_create ( int  flags,
pfarg_sinfo_t sif,
  ... 
)
os_err_t pfm_create_sets ( int  fd,
int  flags,
pfarg_set_desc_t s,
size_t  sz 
)
os_err_t pfm_getinfo_sets ( int  fd,
int  flags,
pfarg_set_info_t s,
size_t  sz 
)
os_err_t pfm_read ( int  fd,
int  flags,
int  type,
void *  reg,
size_t  n 
)
os_err_t pfm_set_state ( int  fd,
int  flags,
int  state 
)
os_err_t pfm_write ( int  fd,
int  flags,
int  type,
void *  reg,
size_t  n 
)