簡體   English   中英

從內核模塊讀取原始性能計數器

[英]Reading raw perf counter from kernel module

我的目標是從另一個內核模塊中讀取內核3.14( lwn-link )中引入的intel rapl計數器( perf_event_intel_rapl.c )。 使用perf_event_create_kernel_counter可以輕松讀取“常規”計數器。 我發現了一個很好的例子: http : //wadeatwork.com/?p=1SW_CPU_CLOCK

perf手冊頁( 鏈接 )說,對於“非通用”事件, PERF_TYPE_RAW應該與perf_event_attr->type以及實現特定的配置字段一起使用。

我的問題是我應該如何配置perf_event_attr結構以便訪問rapl計數器。 我還沒有找到任何有關如何從內核模塊實現此目標的文檔。

對RAPL的perf_event支持包括可在系統范圍內訪問的通用事件,需要root訪問(sudo)。

您應該嘗試以下命令:

sudo perf list

並查看是否存在事件power / energy-cores /,如果不是,則說明您的CPU不支持RAPL,或者perf_event沒有啟用CPU上的RAPL功能。 如果您的CPU支持RAPL,但未在perf_event中啟用它,則可以通過按以下鏈接中所述將CPU對RAPL的支持添加到perf_event中來啟用它。

一旦支持了CPU,就可以使用perf工具通過以下命令進行性能分析:

sudo perf stat -e power/energy-cores

有關更多詳細信息,這是一個指南,其中包含使用perf工具RAPL事件進行采樣的步驟 ,該工具詳細介紹了上述內容並提供了一些代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM