【发布时间】:2012-12-14 20:38:56
【问题描述】:
有没有什么方法可以在 C 中执行一段代码而不会发生上下文切换?
我已修改 perf stat 以定期对计数器进行采样。虽然这可行,但它最终给了我一些不好的数据点,例如 0 个周期 x 指令。
我认为发生这种情况的原因是因为上下文切换。
由于我的代码总是在指令计数器之前提取循环计数器值,如果在提取循环计数器值之后发生上下文切换,并且如果我正在分析的进程针对调度量的某些部分执行,那么当我最终拉指令计数器值,它将比我已经拉出的循环计数器值“提前”。
有什么方法可以在不发生上下文切换的情况下执行代码块?
【问题讨论】:
标签: linux-kernel context-switch perf