Linux SCHED_OTHER(CFS)用户时间与SCHED_RR和SCHED_FIFO用户时间

Linux SCHED_OTHER(CFS)用户时间与SCHED_RR和SCHED_FIFO用户时间,linux,scheduling,Linux,Scheduling,不知道这里是否有消息灵通的Linux大师可以回答我的一个问题。我一直在为我的操作系统类做统计分析,在这个类上,调度程序对于CPU和IO绑定的进程更有效。我从GNU时间中得到的一个无法解释的结果是,为什么在SCHED_OTHER下运行的相同进程比SCHED_RR和SCHED_FIFO(对于CPU受限的进程)在更少的用户时间内完成。我认为用户时间与计划策略无关。有人能给我解释一下或者给我指一个可以解释这一点的资源吗 我使用的数据是通过多次运行收集的,其中有许多并发运行的CPU限制进程,因此数据应该相

不知道这里是否有消息灵通的Linux大师可以回答我的一个问题。我一直在为我的操作系统类做统计分析,在这个类上,调度程序对于CPU和IO绑定的进程更有效。我从GNU时间中得到的一个无法解释的结果是,为什么在SCHED_OTHER下运行的相同进程比SCHED_RR和SCHED_FIFO(对于CPU受限的进程)在更少的用户时间内完成。我认为用户时间与计划策略无关。有人能给我解释一下或者给我指一个可以解释这一点的资源吗


我使用的数据是通过多次运行收集的,其中有许多并发运行的CPU限制进程,因此数据应该相当准确。谢谢。

可以想象,受CPU限制的
SCHED_FIFO
实时进程不会给其他进程启动异步读取的机会。而使用
SCHED_-OTHER
时,更多的进程启动异步读取,从而减少等待数据的总时间。

可以想象,受CPU限制的
SCHED_-FIFO
实时进程不会给其他进程启动异步读取的机会。而使用
SCHED_OTHER
时,更多的进程启动异步读取,从而减少等待数据的总时间。

这可能是由于缓存效应(在这样的性能比较中经常出现这种效应)


每个上下文切换都会丢失一块缓存,因为被交换的进程(和内核)会在一些缓存线上跺来跺去。

这可能是由于缓存效应(在这样的性能比较中经常出现这种效应)


每一个上下文切换都会丢失一大块缓存,因为交换的进程(和内核)会在一些缓存线上跺来跺去。

好的,我们认为SCHED_OTHER可能在幕后进行某种机会主义优化,但很难找到关于这方面的文档。感谢您提供的信息。好的,我们认为SCHED_OTHER可能在幕后进行某种机会主义优化,但是很难找到关于这方面的文档。谢谢你的信息。