Linux教程

调度器31—Linux-5.10 调度相关trace分析技巧汇总

本文主要是介绍调度器31—Linux-5.10 调度相关trace分析技巧汇总,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、看RT线程的sync唤醒标志

(1) MTK:

select_task_rq_rt
    trace_android_rvh_select_task_rq_rt(p, cpu, sd_flag, flags, &target_cpu); //可以在 /sys/kernel/tracing 下检索到它,若是能检索到就说明注册了!
        mtk_select_task_rq_rt //eas/eas_plus.c
            trace_sched_select_task_rq_rt(p, select_reason, *target_cpu, sd_flag, sync);

TRACE_EVENT(sched_select_task_rq_rt, //eas_trace.h

irq/398-touch-0-15970   [000] d.h3 13760.252305: sched_select_task_rq_rt: pid= 208 policy=0x00004000 target=1 uclamp_min=0
        uclamp_max=1024 sd_flag=8 sync=0 mask=0xff cpuctl=1 cpuset=1 act_mask=0xff

policy 打印的就是 select_reason。
sync 打印的就是是否是同步唤醒

注:默认抓trace是不会使能这个trace_event的,因此trace中不会有,需要手动使能来抓取才行!

 

这篇关于调度器31—Linux-5.10 调度相关trace分析技巧汇总的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!