更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_perf.h 文件参考

浏览源代码.

结构体

struct  PerfEventConfig
 
struct  PerfConfigAttr
 

类型定义

typedef VOID(* PERF_BUF_NOTIFY_HOOK) (VOID)
 
typedef VOID(* PERF_BUF_FLUSH_HOOK) (VOID *addr, UINT32 size)
 

枚举

enum  PerfStatus { PERF_UNINIT , PERF_STARTED , PERF_STOPPED }
 
enum  PerfEventType {
  PERF_EVENT_TYPE_HW , PERF_EVENT_TYPE_TIMED , PERF_EVENT_TYPE_SW , PERF_EVENT_TYPE_RAW ,
  PERF_EVENT_TYPE_MAX , PERF_EVENT_TYPE_HW , PERF_EVENT_TYPE_TIMED , PERF_EVENT_TYPE_SW ,
  PERF_EVENT_TYPE_RAW , PERF_EVENT_TYPE_MAX
}
 
enum  PmuHwId {
  PERF_COUNT_HW_CPU_CYCLES = 0 , PERF_COUNT_HW_INSTRUCTIONS , PERF_COUNT_HW_DCACHE_REFERENCES , PERF_COUNT_HW_DCACHE_MISSES ,
  PERF_COUNT_HW_ICACHE_REFERENCES , PERF_COUNT_HW_ICACHE_MISSES , PERF_COUNT_HW_BRANCH_INSTRUCTIONS , PERF_COUNT_HW_BRANCH_MISSES ,
  PERF_COUNT_HW_MAX , PERF_COUNT_HW_CPU_CYCLES = 0 , PERF_COUNT_HW_INSTRUCTIONS , PERF_COUNT_HW_DCACHE_REFERENCES ,
  PERF_COUNT_HW_DCACHE_MISSES , PERF_COUNT_HW_ICACHE_REFERENCES , PERF_COUNT_HW_ICACHE_MISSES , PERF_COUNT_HW_BRANCH_INSTRUCTIONS ,
  PERF_COUNT_HW_BRANCH_MISSES , PERF_COUNT_HW_MAX
}
 
enum  PmuTimedId { PERF_COUNT_CPU_CLOCK = 0 , PERF_COUNT_CPU_CLOCK = 0 }
 
enum  PmuSwId {
  PERF_COUNT_SW_TASK_SWITCH = 1 , PERF_COUNT_SW_IRQ_RESPONSE , PERF_COUNT_SW_MEM_ALLOC , PERF_COUNT_SW_MUX_PEND ,
  PERF_COUNT_SW_MAX , PERF_COUNT_SW_TASK_SWITCH = 1 , PERF_COUNT_SW_IRQ_RESPONSE , PERF_COUNT_SW_MEM_ALLOC ,
  PERF_COUNT_SW_MUX_PEND , PERF_COUNT_SW_MAX
}
 
enum  PerfSampleType {
  PERF_RECORD_CPU = 1U << 0 , PERF_RECORD_TID = 1U << 1 , PERF_RECORD_TYPE = 1U << 2 , PERF_RECORD_PERIOD = 1U << 3 ,
  PERF_RECORD_TIMESTAMP = 1U << 4 , PERF_RECORD_IP = 1U << 5 , PERF_RECORD_CALLCHAIN = 1U << 6 , PERF_RECORD_PID = 1U << 7 ,
  PERF_RECORD_CPU = 1U << 0 , PERF_RECORD_TID = 1U << 1 , PERF_RECORD_TYPE = 1U << 2 , PERF_RECORD_PERIOD = 1U << 3 ,
  PERF_RECORD_TIMESTAMP = 1U << 4 , PERF_RECORD_IP = 1U << 5 , PERF_RECORD_CALLCHAIN = 1U << 6 , PERF_RECORD_PID = 1U << 7
}
 

函数

UINT32 LOS_PerfInit (VOID *buf, UINT32 size)
 Init perf. 更多...
 
VOID LOS_PerfStart (UINT32 sectionId)
 Start perf sampling. 更多...
 
VOID LOS_PerfStop (VOID)
 Stop perf sampling. 更多...
 
UINT32 LOS_PerfConfig (PerfConfigAttr *attr)
 Config perf parameters. 更多...
 
UINT32 LOS_PerfDataRead (CHAR *dest, UINT32 size)
 Read data from perf sample data buffer. 更多...
 
VOID LOS_PerfNotifyHookReg (const PERF_BUF_NOTIFY_HOOK func)
 Register perf sample data buffer water mark hook function. 更多...
 
VOID LOS_PerfFlushHookReg (const PERF_BUF_FLUSH_HOOK func)
 Register perf sample data buffer flush hook function. 更多...