47#define PERF_MAX_FILTER_TSKS 32
53#define PERF_MAX_EVENT 7
59#define PERF_MAX_CALLCHAIN_DEPTH 10
65#define PERF_BUFFER_WATERMARK_ONE_N 2
101#define LOS_ERRNO_PERF_STATUS_INVALID LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x00)
111#define LOS_ERRNO_PERF_HW_INIT_ERROR LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x01)
121#define LOS_ERRNO_PERF_TIMED_INIT_ERROR LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x02)
131#define LOS_ERRNO_PERF_SW_INIT_ERROR LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x03)
141#define LOS_ERRNO_PERF_BUF_ERROR LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x04)
151#define LOS_ERRNO_PERF_INVALID_PMU LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x05)
161#define LOS_ERRNO_PERF_PMU_CONFIG_ERROR LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x06)
171#define LOS_ERRNO_PERF_CONFIG_NULL LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x07)
181#define LOS_ERRNO_PERF_CONFIG_TASK_FILTER_ERROR LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x08)
191#define LOS_ERRNO_PERF_INIT_NO_MEMERY LOS_ERRNO_OS_ERROR(LOS_MOD_PERF, 0x09)
295#if defined(LOSCFG_KERNEL_PERF) && defined(LOSCFG_PERF_SW_PMU)
296#define LOS_PERF(EVENT) do { \
300#define LOS_PERF(EVENT)
UINT32 LOS_PerfInit(void *buf, UINT32 size)
Init perf.
void(* PERF_BUF_NOTIFY_HOOK)(void)
Definition los_perf.h:84
PmuTimedId
Definition los_perf.h:227
PerfEventType
Definition los_perf.h:197
UINT32 LOS_PerfDeinit(void)
Deinit perf.
void LOS_PerfStop(void)
Stop perf sampling.
#define PERF_MAX_EVENT
Definition los_perf.h:53
PmuSwId
Definition los_perf.h:235
UINT32 LOS_PerfDataRead(CHAR *dest, UINT32 size)
Read data from perf sample data buffer.
#define PERF_MAX_FILTER_TSKS
Definition los_perf.h:47
void(* PERF_BUF_FLUSH_HOOK)(void *addr, UINT32 size)
Definition los_perf.h:91
void LOS_PerfStart(UINT32 sectionId)
Start perf sampling.
void LOS_PerfNotifyHookReg(const PERF_BUF_NOTIFY_HOOK func)
Register perf sample data buffer water mark hook function.
UINT32 LOS_PerfConfig(PerfConfigAttr *attr)
Config perf parameters.
PmuHwId
Definition los_perf.h:210
void LOS_PerfFlushHookReg(const PERF_BUF_FLUSH_HOOK func)
Register perf sample data buffer flush hook function.
PerfSampleType
Definition los_perf.h:249
PerfStatus
Definition los_perf.h:71
@ PERF_COUNT_CPU_CLOCK
Definition los_perf.h:228
@ PERF_EVENT_TYPE_SW
Definition los_perf.h:200
@ PERF_EVENT_TYPE_HW
Definition los_perf.h:198
@ PERF_EVENT_TYPE_MAX
Definition los_perf.h:203
@ PERF_EVENT_TYPE_TIMED
Definition los_perf.h:199
@ PERF_EVENT_TYPE_RAW
Definition los_perf.h:201
@ PERF_COUNT_SW_IRQ_RESPONSE
Definition los_perf.h:237
@ PERF_COUNT_SW_MAX
Definition los_perf.h:241
@ PERF_COUNT_SW_MUX_PEND
Definition los_perf.h:239
@ PERF_COUNT_SW_TASK_SWITCH
Definition los_perf.h:236
@ PERF_COUNT_SW_MEM_ALLOC
Definition los_perf.h:238
@ PERF_COUNT_HW_BRANCH_INSTRUCTIONS
Definition los_perf.h:217
@ PERF_COUNT_HW_DCACHE_MISSES
Definition los_perf.h:214
@ PERF_COUNT_HW_DCACHE_REFERENCES
Definition los_perf.h:213
@ PERF_COUNT_HW_MAX
Definition los_perf.h:220
@ PERF_COUNT_HW_BRANCH_MISSES
Definition los_perf.h:218
@ PERF_COUNT_HW_ICACHE_MISSES
Definition los_perf.h:216
@ PERF_COUNT_HW_ICACHE_REFERENCES
Definition los_perf.h:215
@ PERF_COUNT_HW_CPU_CYCLES
Definition los_perf.h:211
@ PERF_COUNT_HW_INSTRUCTIONS
Definition los_perf.h:212
@ PERF_RECORD_CALLCHAIN
Definition los_perf.h:256
@ PERF_RECORD_TIMESTAMP
Definition los_perf.h:254
@ PERF_RECORD_TYPE
Definition los_perf.h:252
@ PERF_RECORD_TID
Definition los_perf.h:251
@ PERF_RECORD_CPU
Definition los_perf.h:250
@ PERF_RECORD_IP
Definition los_perf.h:255
@ PERF_RECORD_PERIOD
Definition los_perf.h:253
@ PERF_UNINIT
Definition los_perf.h:72
@ PERF_STOPPING
Definition los_perf.h:75
@ PERF_STOPED
Definition los_perf.h:76
@ PERF_STARTING
Definition los_perf.h:73
@ PERF_STARTED
Definition los_perf.h:74
void OsPerfHook(UINT32 event)
#define VOID
Definition los_typedef.h:88
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.h:283
BOOL taskFilterEnable
Definition los_perf.h:290
UINT32 sampleType
Definition los_perf.h:288
PerfEventConfig eventsCfg
Definition los_perf.h:284
BOOL needSample
Definition los_perf.h:289
UINT32 taskIdsNr
Definition los_perf.h:286
Definition los_perf.h:265
UINT32 eventsNr
Definition los_perf.h:272
UINT32 eventId
Definition los_perf.h:268
UINT32 period
Definition los_perf.h:269
UINT32 type
Definition los_perf.h:266
BOOL predivided
Definition los_perf.h:273