谷歌修复了太多的NVMe驱动器导致Linux服务器重启太慢原因是该公司的一些多驱动器服务器可能需要超过一分钟的时间才能让Linux内核执行其关闭任务,而谷歌的这项改进工作可能会使其他用户受益以及。我们的一些机器配置了许多NVMe设备,并已针对严格的关机时间要求进行了验证。每个插入系统的NVMe设备通常需要大约4.5秒才能关闭。具有16个此类NVMe设备的系统将需要大约80秒的时间来关闭和重新启动。当前在总线级别定义的关闭API被定义为同步的。因此,系统中的设备越多,关机所需的时间就越长。这个关机时间大大减慢了机器的重启时间。谷歌工程师在提交的补丁集中提出了总线级异步关机接口,修改了核心驱动、设备关机例程以利用新接口;同时保持与现有同步实现的向后兼容性,并使用新接口允许所有基于PCI-E的设备在必要时使用异步接口语义。PCI-E级别的实现也以向后兼容的方式工作,以允许现有设备实现与当前的同步语义一起工作。通过异步关闭接口并调整NVMe驱动程序以使用它,它的重启和最终服务器停机时间可以轻松缩短一分钟。这个提议的异步关闭接口在当前形式下只有大约100行新代码,谷歌只展示了一个使用这个异步关闭接口的NVMe设备的示例实现。科技网站Phoronix指出,随着现代高性能Linux服务器不断加入更多的NVMe驱动器和其他PCIe设备,Linux内核的同步关闭接口可能意味着额外的停机时间。希望谷歌提交的这些补丁能在短时间内得到管理。推进并调整更多驱动程序以在主线方式中使用它。有关详细信息,请参阅邮件列表。本文转自OSCHINA本文标题:谷歌解决NVMe驱动过多导致Linux服务器重启过慢的问题
