【问题标题】:How to configure and capture buffer overflow in intel processor trace如何在英特尔处理器跟踪中配置和捕获缓冲区溢出
【发布时间】:2017-03-31 16:20:40
【问题描述】:

我在https://github.com/andikleen/simple-pt中尝试simple-pt

它看到缓冲区被用作环。

如果发生内部缓冲区溢出,跟踪是否可以自行暂停并让内核模块处理?

【问题讨论】:

  • 为什么不使用最新的内核和perf 工具呢?

标签: linux-kernel intel trace processor


【解决方案1】:

您可以对两个 ToPA 表使用双缓冲方法,每个表的 STOP 位设置为 1。当您的程序(用户空间)从另一个缓冲区读取时,英特尔 PT 硬件将始终填充一个缓冲区。一旦从缓冲区读取所有数据,用户将负责交换缓冲区。如果硬件缓冲区已满,STOP 位将停止跟踪并设置 IA32_RTIT_STATUS MSR 上的 STOPPED 位。然后您可以检查该位以确定是否发生缓冲区溢出。

【讨论】:

  • 感谢您的回复。我已经知道如何触发 PMI
猜你喜欢
  • 2015-09-25
  • 2020-10-02
  • 1970-01-01
  • 2015-08-14
  • 2017-08-02
  • 2020-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多