游戏开发者批评Linux调度器存在问题,Linus Torvalds的回应妙了
扫描二维码
随时随地手机看文章
几天前,使用C ++的游戏开发人员Malte Skarupke发表了一篇博客文章,指出他在向Google的Stadia云游戏服务平台Spinlock交付Linux游戏方面遇到的问题。
Malte在这篇批评Linux内核调度程序糟糕的文章中指出:“我发现大多数互斥锁的实现都非常好,而大多数自旋锁的实现都非常差,虽然Linux的调度程序还算可以,但远未达到理想状态。最受欢迎的替代方案MuQSS调度程序也还存在其他问题。另外,Windows调度程序的表现也非常好。”
对于Malte的这篇文章,Linus Torvalds也发表了自己的评论。在交流的过程中,变得慈祥的Linus虽然不同意文章的观点,但他的言语也不再那么激烈。通篇看下来,"Pure Garbage"应该是唯一一个比较符合Linus以前“暴躁”风格的词。
Linus Torvalds写道:“整篇文章似乎都是错误的,并且作者所测量的内容与他认为并声称的完全不同。首先,自旋锁只能是如果你实际上知道自己在使用它们时未安排时间才使用...基本上是在释放锁之前读取时间,然后在再次获取锁之后读取时间,并声称时间差是没有锁之后的时间。这简直是愚蠢和毫无意义且完全是错误的,纯属胡扯!”
Linus补充说:“那么,该问题的解决方案是什么?告诉系统您在哪里等待锁使用锁,并告诉它在完成锁之后将线程解锁,调度程序会合理地工作,并且不是(随机)...再说一次:如果不确定自己在做什么,请不要在用户区域使用旋转栅门。”