29#ifndef _LOS_PERF_PRI_H
30#define _LOS_PERF_PRI_H
41#define OS_MIN(x, y) (((x) <= (y)) ? (x) : (y))
43#define PERF_EVENT_TO_CODE 0
44#define PERF_CODE_TO_EVENT 1
45#define PERF_DATA_MAGIC_WORD 0xEFEFEF00
47#define SMP_CALL_PERF_FUNC(func) OsMpFuncCall(OS_MP_CPU_ALL, (SMP_FUNC_CALL)func, NULL)
87#ifdef LOSCFG_ARCH_RISCV32
135#ifndef OsPerfArchFetchIrqRegs
150#ifndef OsPerfArchFetchCallerRegs
#define STATIC
Definition common_def.h:57
#define INLINE
Definition common_def.h:65
#define LOSCFG_KERNEL_CORE_NUM
Definition los_config.h:258
PerfEventType
Definition los_perf.h:197
#define PERF_MAX_EVENT
Definition los_perf.h:53
#define PERF_MAX_FILTER_TSKS
Definition los_perf.h:47
#define PERF_MAX_CALLCHAIN_DEPTH
Definition los_perf.h:59
PerfStatus
Definition los_perf.h:71
#define PRINT_DEBUG(fmt,...)
Format and print debug log.
Definition los_printf.h:146
VOID OsPerfHwReadAllCounter(PerfEvent *events)
VOID OsPerfTaskSwitch(LosTaskCB *runTask, LosTaskCB *newTask)
PmuStatus
Definition los_perf_pri.h:49
@ PERF_PMU_STOPED
Definition los_perf_pri.h:50
@ PERF_PMU_STARTED
Definition los_perf_pri.h:51
STATIC INLINE VOID OsPerfFetchIrqRegs(PerfRegs *regs)
Definition los_perf_pri.h:143
VOID OsPerfTaskCreate(LosTaskCB *taskCB)
VOID * OsPerfIrqEnter(UINT32 hwiNum)
STATIC INLINE VOID OsPerfFetchCallerRegs(PerfRegs *regs)
Definition los_perf_pri.h:157
PerfEvent * OsPerfIrqEventsGet(UINT32 cpuId)
PerfEvent * OsPerfTaskEventsGet(UINT32 taskId)
VOID OsPerfTaskDelete(LosTaskCB *taskCB)
VOID OsPerfIrqExit(UINT32 hwiNum, VOID *state)
VOID OsPerfHandleOverFlow(Event *event, PerfRegs *regs)
VOID OsPerfUpdateEventCount(Event *event, UINT32 value)
STATIC INLINE VOID OsPerfArchFetchCallerRegs(PerfRegs *regs)
Definition los_perf_pri.h:151
VOID OsPerfSetIrqRegs(UINTPTR pc, UINTPTR fp)
STATIC INLINE VOID OsPerfArchFetchIrqRegs(PerfRegs *regs, LosTaskCB *curTask)
Definition los_perf_pri.h:136
STATIC INLINE LosTaskCB * OsCurrTaskGet(VOID)
Definition los_task_pri.h:118
unsigned long long UINT64
Definition los_typedef.h:72
#define VOID
Definition los_typedef.h:88
unsigned char UINT8
Definition los_typedef.h:50
unsigned int UINTPTR
Definition los_typedef.h:74
unsigned int UINT32
Definition los_typedef.h:52
char CHAR
Definition los_typedef.h:58
size_t BOOL
Definition los_typedef.h:83
Definition los_perf_pri.h:82
UINT64 prevCount
Definition los_perf_pri.h:86
UINT64 count
Definition los_perf_pri.h:90
UINT32 counter
Definition los_perf_pri.h:83
UINT32 period
Definition los_perf_pri.h:85
UINT32 eventId
Definition los_perf_pri.h:84
Definition los_perf_pri.h:59
UINT32 ipNr
Definition los_perf_pri.h:60
Definition los_perf_pri.h:118
UINT8 taskIdsNr
Definition los_perf_pri.h:130
UINT8 taskFilterEnable
Definition los_perf_pri.h:132
enum PerfStatus status
Definition los_perf_pri.h:124
UINT64 endTime
Definition los_perf_pri.h:121
UINT64 startTime
Definition los_perf_pri.h:120
UINT32 sampleType
Definition los_perf_pri.h:128
UINT8 needSample
Definition los_perf_pri.h:131
Definition los_perf_pri.h:74
UINT32 len
Definition los_perf_pri.h:77
UINT32 sampleType
Definition los_perf_pri.h:78
UINT32 eventType
Definition los_perf_pri.h:76
UINT32 magic
Definition los_perf_pri.h:75
UINT32 sectionId
Definition los_perf_pri.h:79
Definition los_perf.h:265
Definition los_perf_pri.h:93
UINT8 nr
Definition los_perf_pri.h:95
UINT8 cntDivided
Definition los_perf_pri.h:96
Definition los_perf_pri.h:54
UINTPTR fp
Definition los_perf_pri.h:56
UINTPTR pc
Definition los_perf_pri.h:55
Definition los_perf_pri.h:64
UINT32 taskId
Definition los_perf_pri.h:66
PerfBackTrace callChain
Definition los_perf_pri.h:71
UINT64 time
Definition los_perf_pri.h:69
UINT32 eventId
Definition los_perf_pri.h:67
UINT32 period
Definition los_perf_pri.h:68
UINT32 cpuid
Definition los_perf_pri.h:65
UINTPTR pc
Definition los_perf_pri.h:70
Definition los_perf_pri.h:99
UINT32(* config)(PerfEvent *events, const PerfEventConfig *config)
Definition los_perf_pri.h:104
enum PerfEventType type
Definition los_perf_pri.h:100
Definition los_task_base.h:131