2023年

如何使 bpftrace:runqlat.bt 按 workqueue name 统计延迟

问题当我们想利用 ebpf 统计 task/kworker 的调度延迟,通常有两个前端选择,一是 bcc,另一个是 bpftrace。而如果要自定义,通常选择先上手 bpftrace,因为简单。bpftrace/tools 下的工具 runqlat.bt 就可以统计调度延迟,只不过输出是直方图,我们希望能够像 perf sched 那样输出 task/kworker 的调...阅读全文

如何使 perf sched 支持 workqueue name

问题workqueue name 就是 alloc_workqueue 的第一个参数:/** * alloc_workqueue - allocate a workqueue * @fmt: printf format for the name of the workqueue [...] #define alloc_workqueue(fmt, flags, max...阅读全文

kworker 调度延迟性能测试和统计

LPC2022 EROFS 提到一个解压调度延迟问题:最近,Android 提了一笔优化 patch for this issue:Author: Sandeep Dhavale <dhavale@google.com> Date: Thu Dec 22 01:15:29 2022 +0000 EROFS: Replace erofs_unzip...阅读全文