linux stop函数,perfmonctl()函数 Unix/Linux
perfmonctl -接口PMU
內容簡介
#include
#include
long perfmonctl(intfd, intcmd, void *arg, intnarg);
描述
perfmonctlsystem call provides an interface to PMU (performance monitoring unit). PMU consists of PMD (performance monitoring data) registers and PMC (performance monitoring control) registers, where are gathered the hardware statistic.
perfmonctl?will apply a function?cmd?to input arguments?arg.?The number of arguments is defined by input variable?narg.?fd?specifies the perfmon context to operate on.
實現的?cmd命令是:
標簽
描述
PFM_CREATE_CONTEXT
set up a context
perfmonctl(intfd, PFM_CREATE_CONTEXT , pfarg_context_t *ctxt,1);
The?fd?parameter is ignored. A new context is created as specified in?ctxtand its file descriptor is returned in?ctxt->ctx_fd.
The file descriptor, apart from passing it to?perfmonctl, can be used to read event notifications (type?pfm_msg_t) using the?read(2) system call. Both?select(2) and?poll(2) can be used to wait for event notifications.
The context can be destroyed using the?close(2) system call.
PFM_WRITE_PMCS
set PMC registers
perfmonctl(intfd, PFM_WRITE_PMCS , pfarg_pmc_t *pmcs,n);
PFM_WRITE_PMDS
set PMD registers
perfmonctl(intfd, PFM_WRITE_PMDS , pfarg_pmd_t *pmds,n);
PFM_READ_PMDS
read PMD registers
perfmonctl(intfd, PFM_READ_PMDS , pfarg_pmd_t *pmds,n);
PFM_START
start monitoring
perfmonctl(intfd,PFM_START,arg,1);
perfmonctl(intfd,PFM_START,NULL,0);
PFM_STOP
stop monitoring
perfmonctl(intfd,PFM_START,NULL,0);
PFM_LOAD_CONTEXT
attach the context to a thread
perfmonctl(intfd, PFM_LOAD_CONTEXT ,pfarg_load_t *largs,1);
PFM_UNLOAD_CONTEXT
detach the context from a thread
perfmonctl(intfd,PFM_UNLOAD_CONTEXT,NULL,0);
PFM_RESTART
restart monitoring after recieving an overflow notification
perfmonctl(intfd,PFM_RESTART,NULL,0);
PFM_CREATE_EVTSETS
create or modify event sets
perfmonctl(intfd,PFM_CREATE_EVTSETS,pfarg_setdesc_t*desc,n);
PFM_DELETE_EVTSETS
delete event sets
perfmonctl(intfd,PFM_DELETE_EVTSET,pfarg_setdesc_t*desc,n);
PFM_GETINFO_EVTSETS
get information about event sets
perfmonctl(intfd,PFM_GETINFO_EVTSETS,pfarg_setinfo_t*info,n);
返回值
performctlreturns zero when the operation is successful. On error -1 is returned and an error code is set inerrno.
可用性
This syscall is implemented only on the IA-64 architecture since kernel 2.6.
另請參閱
¥ 我要打賞
糾錯/補充
收藏
加QQ群啦,易百教程官方技術學習群
注意:建議每個人選自己的技術方向加群,同一個QQ最多限加 3 個群。
總結
以上是生活随笔為你收集整理的linux stop函数,perfmonctl()函数 Unix/Linux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文旅部:鼓励上云服务技术向电竞酒店、星级
- 下一篇: 《完蛋2!我被帅哥包围了》新作筹备中 针