Linux中调度程序调试的工具

时间:2016-11-04 04:37:05

标签: linux-kernel embedded-linux scheduling linux-rt

我有一个嵌入式Linux系统,包含两个必须实时运行(或软实时)的线程。当使用SCHED_OTHER时,我注意到了很多抖动,但是两个线程总是在分配的时间内执行。

我已经在启用了PREEMPT_RT的情况下应用了RT补丁,并且使用SCHED_FIFO运行这两个线程(线程优先级高达~80)可以减少抖动,总体上要好得多,除了一次和两个线程错过了他​​们的截止日期(而不是每10毫秒左右执行一次,他们可能几乎没有时间表!)。

我想问一下在嵌入式Linux操作系统上调试linux调度(在RT下)时哪种工具最好。想到了ftrace,但我不知道它是否是最好的和/或唯一的工具。我的目标是找出为什么两个线程偶尔会安排很长时间。

更新:我今天用wakeup_rt运行了ftrace。 wakeup_rt作为跟踪器没有完成工作:当我的线程最迟运行1000毫秒时,它记录的最大延迟为5毫秒。也许这不是调度程序问题?你会推荐ftrace中的其他什么跟踪器吗?

0 个答案:

没有答案