Linux Scheduler Debugging Tools

I have an embedded Linux system that contains two threads that should run in real time (or in soft real time). When using SCHED_OTHER, I noticed a lot of jitter, but two threads always ran for the appointed time.

I applied the RT patch with PREEMPT_RT enabled, and starting these two threads with SCHED_FIFO (with a high thread priority of ~ 80) leads to significant jitter, which is generally much better, except that the same thread skips its due date (instead to execute every 10 ms or so, they may not receive a graph for almost a second!).

I wanted to ask which tool is best suited for debugging linux scheduling (for RT) in the embedded Linux OS. ftrace came to mind, but I don't know if this is the best and / or only tool. My goal is to find out why the two threads are not planned for a long time.

UPDATE. Today I started ftrace with wakeup_rt. wakeup_rt did not do the work as an indicator: the maximum latency that it recorded was 5 ms, when my thread could work up to 1000 ms later. Maybe this is not a question for the planner? What other tracer in ftrace would you recommend?

+6
source share

Source: https://habr.com/ru/post/1012008/


All Articles