腾讯工程师提交Linux内核RFC补丁:重构交换设备I/O分配机制

热点 2026-07-17 05:56:10 74

2026年7月14日,腾讯腾讯工程师Kairui Song向Linux内核社区提交了一组RFC(Request for Comments)补丁,工程构交旨在对多交换设备的师提I/O分配机制进行彻底重构。

该方案专为应对采用交换分层(Switching Hierarchy)或分层交换处理的内核复杂服务器环境而设计,预期将显著提升系统的补备整体性能表现及横向扩展能力。

核心变革:移除全局锁与plist

新补丁引入了一种全新的丁重I/O负载均衡策略,旨在实现多交换设备间任务分配的换设公平性。其核心改动包括:

  • 移除可变优先级链表(plist):彻底弃用原有的配机plist数据结构。
  • 取消全局互斥锁:解除对全局集群缓存的腾讯依赖。
  • 轻量化机制:使I/O分配与设备轮换操作在更灵活、工程构交更轻量的师提架构下执行。

历史背景与架构痛点

在过往的内核内核实现中,I/O分配机制经历了以下演变:

  1. 初始阶段:每个交换设备独立维护一个每CPU(per-CPU)集群缓存。补备
  2. 后续优化:为减少plist的丁重频繁更新操作,内核变更将该缓存迁移至全局空间,换设由所有交换设备共享。

尽管现有实现通过“快速路径利用每CPU集群缓存”与“慢速路径依赖plist轮询”的分离设计得以运行,但这种架构长期存在结构性矛盾:

  • 理念冲突:位于设备选择逻辑之上的全局CPU集群缓存,与现代调度理念中的“交换分层”及“分层分配”存在本质不兼容。
  • 锁竞争瓶颈:plist依赖plist_requeue函数执行轮换,该过程必须持有swap_avail_lock全局锁。在高并发场景下,这导致所有CPU核心激烈争抢资源。
  • 架构僵化:由于轮换被划归为慢速路径,为规避对plist的访问,系统不得不引入大量折中设计,严重制约了架构的简洁性与后续演进能力。

新方案优势

新方案通过以下技术手段解决了上述瓶颈:

  • 引入每CPU读写信号量(percpu rwsem):将全部交换设备与新增的每CPU读取器优先级队列统一纳入保护之下。
  • 缓解锁竞争:大幅降低并发场景下的锁冲突概率。
  • 增强并发能力:显著提升系统的并发处理吞吐量。

这一调整不仅解决了当前的性能瓶颈,也为后续支持交换分层等更先进的资源调度模型奠定了坚实基础。

本文地址:https://www.huajianzixun.com/html/107e58699306.html
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

全站热门

喜剧神作《Colin From Accounts》官宣完结,正主亲证第三季就是终点

广西救灾一线最新直击:灯光渐次亮起,家园加快清理

高端访谈丨美著名作家凯文·凯利:中国将在全球化中发挥引领作用

克拉约瓦大学1-0BC麦克斯林,班库助球队取胜

北京一女子耳痛,医生竟掏出3厘米活蜈蚣……

18年前汶川地震获救的少年,18年后在洪水中救人

世界杯-劳塔罗92分绝杀 阿根廷2-1逆转英格兰进决赛

车辆被淹、积水齐腰,辽宁下大暴雨只是开始,更大考验还在后面

友情链接