A.2.1 思路
使用irq_handler_entry跟踪事件记录一段时间内的中断触发情况,使用perf script命令可以得到采样的CPU编号和触发的IRQ编号信息。然后通过python脚本简单的提取这两条信息将分布情况显示出来即可。
A.2.2 操作
CPU为Intel 11400, 操作系统为Ubuntu 20.04,内核版本5.15.87。
首先使用perf record命令抓取5秒钟的irq:irq_handler_entry事件。
得到一个perf.data文件。然后使用perf script命令解读。
之后编写一个简单(非常粗糙)的python脚本简单分析一下分布情况。
- #!/usr/bin/python3
- import sys
- import numpy as np
- import pandas as pd
- import matplotlib.pyplot as plt
- # ----------------------------------------
- # main
- # ----------------------------------------
- def main(argv):
- # Request a new array.
- Array = np.empty([0, 2], dtype=int)
- # Open script file.
- ScriptFile = open("./perf.script")
- Sample = ScriptFile.readline()