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?
source share