[英]Get PEBS data linear address from perf
我現在正嘗試使用perf與PEBS一起測量L3_Miss(LLC Miss)。
這是命令: perf record -d -e cpu/event=0xd1,umask=0x20/ppu -c 1 test
,當perf完成時,我使用perf script -F ip,sym,addr
來檢查結果。
根據intel ,Vol。 3B表18-55。 PEBS記錄包含一個名為“數據線性地址”的字段,代表我需要的負載地址或存儲目的地。
我的問題是,我在指定的字段地址 perf-script
是相同PEBS記錄數據的線性地址 ? 如果沒有,如何檢索此字段? (以及其他相關字段,例如CPU寄存器R8〜R15)
PS。 我正在使用i7-6700 CPU(Skylake Microarchitecture)
謝謝,任何建議將不勝感激。
是的,你是對的。 實際上, perf腳本中的addr字段確實為您提供了PEBS記錄中的數據線性地址 。 如您正確指定的,此數據線性地址與負載源或存儲目的地相關聯。 您在命令perf record -d
使用的開關-d有助於記錄訪問或寫入內存的數據的線性地址。
記錄數據線性地址的這種機制已從處理器微體系結構名稱Haswell代替精確存儲事件開始。 它也一直延續到Skylake 。
如果您想在代碼中看到它, 請轉到這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.