风君子博客12月31日消息,近日,腾讯云操作系统(TencentOS)内核团队在Linux社区提交的两项重要改进方案成功解决了近三年来困扰一线厂商的关键内核bug。这一方案得到Linux创始人的点赞。
2021年,Linux 内核文件系统中逐步开启了名为 Large Folio 的新特性,目的是提升文件读写性能。理论上,这个特性能让文件系统更快、更高效,但现实却存在bug。
该bug只有高并发环境下才有一定概率偶发,复现条件极为苛刻。尽管较难触发,但其潜在风险仍然让社区和各大厂商感到不安。两年多时间里,Linux社区各个厂商都没有找到问题线索。
今年4月,腾讯云的操作系统内核团队在一次性能优化中,发现了问题的根源——Linux 内核的Page Cache 与 Xarray 的交互存在问题。这是一个负责缓存索引管理的关键模块,但索引更新的部分逻辑过于复杂,在高并发环境下容易出错,直接引发数据指针错乱。
找到问题后,腾讯云方面提交了两项关键优化:
1.优化索引查询: 将 XArray 的多次冗余查询简化为单次操作,大幅降低复杂度。
2.提升并发稳定性:针对高并发场景,重新梳理处理逻辑,确保指针分配准确,杜绝错乱问题。
这一优化方案不仅修复了数据损坏的问题,还提升了操作系统的性能。这些改动被Linux社区认为是最佳的修复方案,并被加入到最新的操作系统版本中,同时得到了Linux创始人的点赞。