谷歌解决 NVMe 驱动器太多导致 Linux 服务器重启太慢问题
谷歌方面正在致力于改进由于太多的 NVMe 驱动器,而导致的 Linux 服务器重新启动时间太长问题。缘于在于该公司的一些多驱动器服务器可能需要超过一分钟的时间才能让 Linux 内核执行其 shutdown任务,而谷歌的这项改进工作也可能使其他用户受益。 我们的一些机器配置了许多 NVMe 设备,并且已针对严格的 shutdown时间要求进行了验证。每个 NVMe 设备插入系统,通常需要大约 4.5 秒来 shutdown。一个具有 16 个此类 NVMe 设备的系统将需要大约 80 秒来 shutdown并重新启动。 目前在总线级定义的shutdown API 被定义为同步的。因此,系统中的设备越多,shutdown所需时间就越长。这个 shutdown时间极大地拖慢了机器的重启时间。 谷歌工程师在提交的补丁集中提出了一个总线级别的异步 shutdown接口,修改了核心驱动程序、设备 shutdown routine 以利用新接口;同时保持与现有同步实现的向后兼容性,并利用新接口让所有基于 PCI-E 的设备在必要时使用异步接口语义。PCI-E 级别的实现也以向后兼容的方式工作,以...

