知名内核网站LWN.NET发表了一片文章讨论“".
关于组调度的实现,简单的分类:用户和cgroup.基于这两种分类的组调度,组与组之间根据优先级公平分配CPU时间,组内进程公平分配本组所争取到的CPU时间。
简单的说,这个内核补丁自动创建基于TTY的组,所有进程都会被放置在所关联的TTY组中。根据终端自CFS分配的时间片额,组内进程实现公平。
举个小例子,make -j10类似的编译任务生成10个耗时的任务,桌面应用程序video playerback视频播放与10个编译进程共享9%的CPU时间,这是无法接受的。在此补丁的作用下,10个编译任务所属的TTY与video所属的分属两个不同的组,组与组之间公平分配50%CPU时间。
Linus对此补丁性能很赞赏,他说:
“我认为这是有‘实质进步’的补丁,做的好!组调度从‘有益于特殊的服务器负载’到‘杀手级特色’了。”
尽管有人对此提出了异议,认为从session的角度也可以去实现,或者在用户态用一些脚本就可以了,Linus仍然坚持,并对这些人“马后炮”的行为进行了讥讽,“你们一年以前干什么去了?”
总之,看起来有着更好桌面应用体验的内核快来了。
阅读(1276) | 评论(0) | 转发(0) |