关键词: 内核重构、交换设备、全局锁、腾讯
腾讯工程师 Kairui Song 向 Linux 内核社区提交了一组 RFC 补丁,全面重构多交换设备(swap device)的 I/O 分配机制。这是该子系统近十年来力度最大的一次架构级改造。
当前内核在管理多个交换设备时,依赖一把全局锁(swap_avail_lock)和可变优先级链表(plist)来协调 I/O 任务。在高并发服务器场景下,所有 CPU 核心争抢同一把锁,阻塞严重,水平扩展性大打折扣。更致命的是,全局 CPU 集群缓存的引入与日益流行的交换分层设计存在根本性冲突——旧架构已经跟不上现代数据中心的需求。
新方案的核心思路很干脆:直接移除 plist 和全局锁,取消全局集群缓存,代之以 percpu 读写信号量保护的新队列。这意味着每个 CPU 核心不再相互排队等待,I/O 分配得以真正并行化。同时,旧架构中"快慢路径分离"的折中设计也被一并清理,代码可维护性大幅提升。
作为中国互联网巨头在内核主线上的又一次深度贡献,这组补丁展示了腾讯在操作系统底层领域的积累。若顺利合入,有望随 Linux 7.3 或 7.4 版本面世。
值得关注的原因: 直接改善云服务器、数据库等内存密集型场景的性能瓶颈;代表中国企业在 Linux 核心子系统的持续影响力。