资助 FreeBSD 的一年

主要观点:

  • 作者自 2010 年起在 Amazon EC2 平台维护 FreeBSD,2023 年 11 月担任 FreeBSD 发行工程主管,负责多个 FreeBSD 版本的发布。
  • 因发布工程工作与 FreeBSD/EC2 竞争志愿者时间,2024 年初担心无法当好 FreeBSD/EC2 平台的“所有者”。
  • 2024 年 4 月获 Amazon 赞助,为期一年,用于 FreeBSD 发行工程和 FreeBSD/EC2 开发,每月约 40 小时。
  • 过去一年管理了四个 FreeBSD 版本的发布,工作主要在发布前一个月进行,工作量随版本稳定程度而变化。
  • 在 FreeBSD/EC2 方面,优先处理了 AWS Graviton 实例的“电源驱动”和设备热插拔功能,还进行了一些其他改进,如调整 PCIe 设备热插拔超时等。
  • 解决了 FreeBSD 启动过程中的性能问题,如增加根磁盘大小、改进内核熵播种、优化 ZFS 启动时间等。
  • 为 FreeBSD/EC2 添加了更多 AMI“口味”,清理了旧的 EBS 快照。
  • 处理了并行化发布构建、构建可重现性等一般性发行工程问题,以及处理各种小问题。
  • 未来虽仍负责相关工作,但时间减少,一些未完成的功能可能无法及时完成。

关键信息:

  • 2010 年开始在 Amazon EC2 维护 FreeBSD,2023 年 11 月担任主管。
  • 2024 年 4 月获 Amazon 赞助,用于相关工作。
  • 管理了 FreeBSD 13.4、14.2、13.5、14.3 版本发布。
  • 处理了 Graviton 实例的相关功能和性能问题。
  • 添加了 FreeBSD AMI“口味”,清理了 EBS 快照。
  • 处理了发行工程的并行化和可重现性问题。
  • 未来工作时间减少,一些功能可能无法及时完成。

重要细节:

  • 发布每个版本的工作包括催促开发者提交代码、批准合并请求等,工作量从 33.5 小时到 79 小时不等。
  • Graviton 实例的“电源驱动”问题通过添加代码找到 ACPI 中的 GPIO 配置并传递给驱动解决,EC2 的 ACPI 表存在问题导致需添加新“怪癖”。
  • 设备热插拔工作中,解决了多个不同实例类型的问题,如 PCI IRQ 泄漏、固件问题等,并进行了“生活质量”改进。
  • 启动性能问题包括根磁盘大小增加导致启动变慢、Graviton 2 内核熵播种问题、ZFS 启动时间长等,通过一系列调整解决。
  • 为 FreeBSD/EC2 添加了 small AMIs 和 builder AMIs 两种口味,清理了 336 TB 的 EBS 快照。
  • 并行化发布构建时发现缺少 Makefile 行导致构建失败,解决后减少了构建时间。
  • 通过在 EC2 实例上构建 AMIs 并比较来解决构建可重现性问题。
  • 未来可能无法及时处理一些未完成的功能,如自动扩展文件系统等。
阅读 9
0 条评论