AMD Linux工程师推出了一种名为“schedstat”的新性能工具,其目标是比现有的“
性能计划
“用于分析内核调度程序行为的工具。
schedstat工具可以方便地报告以jiffies和其他CPU调度统计信息表示的经过时间。该工具的目的是重量更轻,供开发人员和其他分析Linux内核调度程序更改的人员使用。
AMD工程师Ravi Bangoria解释了schedstat工具:
“现有的‘perf sched’非常详尽,可以深入了解调度程序的行为,但很快就无法用于长时间运行或调度程序密集型工作负载。例如,‘perf sched record’在hackbeek上的开销约为7.77%(25个组,每个组在2个128核256线程的第三代EPYC服务器上运行700K循环),它生成了巨大的56G perf.data,perf需要约137分钟才能准备并将其写入磁盘。
与“perf sched record”不同的是,“perf sched schedstat record”挂接到一组调度程序跟踪点并在跟踪点命中时生成样本,它在工作负载前后拍摄/proc/schedstat文件的快照,即对工作负载运行没有干扰。此外,解析/proc/schedstat、将其转换为perf示例并将这些示例保存到perf.data文件中所需的时间非常短。结果perf.data文件要小得多。因此,总体而言,与“perf sched record”相比,“perf sched schedstat record”要轻得多。
在AMD内部,我们一直在使用它(它的一个变体,称为“sched记分板”),并发现它对分析任何调度程序代码更改的影响非常有用。
请注意,这不是性能计划记录/报告的替代品。新工具的预期用户是调度程序开发人员,而不是普通用户。"
Schedstat听起来是一个非常适合和补充通用“perf-shed”功能的工具,也是他们早期的sched记分板工具的一个很好的演变。
AMD's schedstat tool was presented today on the Linux kernel mailing list as part of this patch series seeking comments from other developers on interest and upstreaming this code into the perf tools within the Linux kernel source tree.