Google工程师Joel Fernandes针对Linux内核发出了第九版核心调度补丁,该补丁允许仅允许受信任的任务在同一CPU内核上同时运行-如果涉及超线程以保护系统免受可能的安全性的影响功绩。自从出现MDS和L1TF之类的漏洞以来,核心调度一直是一个热门话题。核心调度的目的是使超线程更安全,仅允许受信任的任务共享一个CPU内核,这是使超级线程在服务器上保持活动状态而不是出于安全性而禁用超级线程的合理保护措施。 DigitalOcean,Oracle,Google和其他主要的x86_64播放器都对核心调度感兴趣,并致力于开发不同的解决方案,以使HT / SMT保持活动状态。特别是对于主要的云服务器提供商而言,必须禁用HT / SMT将对其模型造成很大的打击。 Core Scheduling在今年取得了良好的进展,Google工程师似乎希望他们的解决方案能够成为主流。今天发布的v9补丁将根据最新的Linux Git代码重新建立基础,同时解决了先前提出的问题/反馈。希望在不引发新问题之前可以合并此版本。该核心调度实现减轻了用户空间到用户空间的攻击以及用户空间到内核空间的攻击。这些补丁程序不会更改任何默认的内核调度程序行为,但需要使用标记的cgroup来安排可信任的任务,这些任务可以共享一个核心,以评估是否可以将任务放在同级线程上。在安全性环境之外,核心调度对于需要更好地控制SMT使用情况的实时用途和其他对性能敏感的应用程序很有用。乔尔(Joel)提到,ChromeOS测试显示,使用Google环聊测试的Google文档按键可以将按键延迟提高300%(按键的最大延迟从150ms降至50ms)。但是,取决于配置和工作负载,核心调度仍然有可能吞噬整个系统的性能,但通常不应该与禁用SMT / HT一样糟糕。通过内核邮件列表,有关此Core Scheduling v9的更多详细信息。当前形式的这种核心调度实现仅相当于四千多行新代码。