调度器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中不会有,需要手动使能来抓取才行!

 

上一篇:socket与struct模块


下一篇:HTML+JS:Select的onchange事件