簡體   English   中英

如何在Linux內核中進行概要分析或使用perf_event *。[hc]框架?

[英]How to profile in the Linux kernel or use the perf_event*.[hc] framework?

我注意到在arch / arm / kernel下有一些分析源代碼:

perf_event.c 
perf_event_cpu.c 
perf_event_v6.c 
perf_event_v7.c 
perf_event_xscale.c

我不了解這些文件的層次結構,如何使用它們? 我可以假設它們始終存在並在內核模塊中使用它們嗎? 我的內核模塊在Cortex-A7或Cortex-A15內核上運行。

/arch/arm/kernel/目錄下似乎有很多非常有用的東西,但是沒有有關功能的文檔? 怎么會 ?

Perf_event確實提供了可以以編程方式使用的API,但是文檔充其量是稀疏的。 Vince Weaver在此處提供了使用perf_event API的最佳資源: http ://web.eece.maine.edu/~vweaver/projects/perf_events/

他還提供了一些用於記錄計數器的示例代碼。

但是,最好的選擇是使用包裝perf_event並使其更易於訪問的API,例如PAPI( http://icl.cs.utk.edu/papi/

編輯:由於您要從內核模塊執行此操作,因此PAPI將不可用。 但是,perf_event API仍然是。

perf_*文件中的功能由oprofileperf工具之類的工具使用/提供。

不,它們始終不可用,因為有一個配置選項(CONFIG_PERF_EVENTS)用於啟用/禁用性能測量。

該功能並不是真的要從其他驅動程序中使用。 我很確定,這會“打擾”任何使用oprofileperf用戶。

暫無
暫無

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

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