linux – 内核中特定于线程的单调时钟源

linux – 内核中特定于线程的单调时钟源,第1张

概述是否存在可供内核模块使用的单调时钟源,该内核模块可以附加到线程,只有在关联的线程运行时才会增加? 我正在寻找能够像perf API一样工作的东西,除了测量到目前为止所消耗的CPU时间总量(以纳秒为单位)而不是测量周期或指令. 在用户空间中,您具有librt中的clock_gettime函数,您可以在其中指定CLOCK_PROCESS_CPUTIME_ID作为获取上述行为的时钟类型.查看source 是否存在可供内核模块使用的单调时钟源,该内核模块可以附加到线程,只有在关联的线程运行时才会增加?

我正在寻找能够像perf API一样工作的东西,除了测量到目前为止所消耗的cpu时间总量(以纳秒为单位)而不是测量周期或指令.

在用户空间中,您具有librt中的clock_gettime函数,您可以在其中指定CLOCK_PROCESS_cpuTIME_ID作为获取上述行为的时钟类型.查看source code of clock_gettime,此函数从pthread库中调用另一个名为__pthread_clock_gettime的函数.

我正在寻找类似的东西,可以从内核模块在linux内核中设置并附加到任务,给定指向与任务相关联的task_struct的指针.

解决方法 Performance API使您可以访问各种硬件事件和计数器.它有一个低级和高级API. PAPI_epc函数应该符合您的需求:

http://icl.cs.utk.edu/papi/docs/db/d93/group__high__api.html#ga2f8766ae458b43d41e57e78b930a4f61

总结

以上是内存溢出为你收集整理的linux – 内核中特定于线程的单调时钟源全部内容,希望文章能够帮你解决linux – 内核中特定于线程的单调时钟源所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1029537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存