The Async Multiprocessing Has Sound Foundations in Linux, But Further Testing Is Needed

TL;DR · AI 摘要
Linux异步多处理(AMP)基础稳固但需更多测试,现有模块如SCMI和remoteproc存在贡献者覆盖不足问题。
核心要点
- SCMI通信需双向确认路径,当前实现可能缺失该机制
- remoteproc核心提交从Linux 5.0的175次增至1550次,但仅4位开发者贡献超5个补丁
- 硬件自旋锁(hardware spinlocks)在AMP中表现突出,但测试覆盖不足
结构提纲
按章节快速跳转。
Linux AMP堆栈基础稳固但存在测试碎片化问题
SCMI双向通信需四通道实现,现有固件可能缺失确认路径
remoteproc提交量5年增长8倍,但开发者集中度高
- ·测试需求
硬件自旋锁等关键模块需要更全面的测试覆盖
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Linux AMP架构
- 通信机制
- SCMI双向通道需求
- 单向邮箱限制
- 关键模块
- remoteproc发展数据
- 硬件自旋锁测试
- 挑战
- 贡献者覆盖不足
- 测试碎片化
金句 / Highlights
值得收藏与分享的关键句。
SCMI双向通信可能需要四通道实现,而Keystone固件仅用两个单向邮箱
remoteproc核心提交量从Linux 5.0的175次增至约1550次
硬件自旋锁(hardware spinlocks)在AMP中表现突出但测试不足
异步多处理在 Linux 中具有坚实基础,但需要进一步测试 - InfoQ
InfoQ 首页 News 异步多处理在 Linux 中具有坚实基础,但需要进一步测试
开发
在线 InfoQ AI 安全与隐私工程认证(10 月 26 日):在受监管环境中部署 AI?
异步多处理在 Linux 中具有坚实基础,但需要进一步测试
2026 年 10 月 7 日 2 分钟阅读
作者
- Olimpiu Pop
#### 关注我们
YouTube
232K 粉丝
26K 粉丝
新
RSS
19K 读者
X
57.1k 粉丝
21K 喜欢
Bluesky
收听本文 -
0:00
音频准备播放
您的浏览器不支持音频元素。
正常
1.25x
1.5x
喜欢
新下拉阅读列表
- 阅读列表
在 2026 年欧洲嵌入式 Linux 会议(Embedded Linux Conference Europe 2026)上,Linux 内核开发者兼 Linux I2C 子系统维护者 Wolfram Sang 分析了 Linux 异步多处理(AMP)的构建模块。他的评估认为,这些基础足够稳固可以继续构建,但薄弱的贡献者覆盖范围和碎片化的测试需要关注。
他的演讲基于尝试将硬件自旋锁驱动程序上游化的工作,这项工作促使他审视更广泛的 AMP 堆栈的健康状况。他专注于 Linux 方面,并引导与会者关注其他会议演讲,涉及 Zephyr、可信固件和设备树细节。
在基本的 AMP 系统中,Linux 应用 CPU 和较小的实时核心在同一片系统级芯片(SoC)中运行。邮箱用于通知信息可用;共享 SRAM 或 DDR 存储数据。更复杂的系统还必须协调共享资源的所有权。Sang 将 SCMI 描述为 Linux 与专用系统控制处理器通信的一种方式,用于管理时钟等资源,而不是单独管理每个资源。
这种通信比邮箱图示所暗示的要复杂得多。门铃通常单向发送信号。Sang 展示了如何通过两个单向邮箱形成一个请求-响应通道,而完全双向的 SCMI 安排可能需要四个。固件可能采用不同的配置:在他的 Keystone 示例中,现有固件使用两个单向邮箱实现双向 SCMI 通信,导致通知没有对应的确认路径。
其他层级具有不同功能。remoteproc 负责加载固件并启动或停止远程核心;其固件二进制文件可以描述所需资源。给定共享内存和一个驱动回调,该回调可以“触发”另一侧,从而启用 RPMsg 消息传递。Virtio 定义了使用共享内存 virtqueues 的开放通信标准,并在有工作时发出通知。Sang 区分了 RPMsg(处理器间通信)和提议的 virtio-over-message 传输(通过消息通道承载 virtio 通信,但尚未上游化)。
Sang 的子系统调查发现,remoteproc 核心提交量从 Linux 5.0 的 175 次增长到约 1,550 次,尽管在早期激增后增长放缓。邮箱提交和驱动程序的增长更为近期,但只有约四名作者贡献了超过五次补丁。硬件自旋锁表现突出:核心提交量在约七年时间里从 19 次增加到 30 次,而驱动程序数量基本保持稳定。Sang 并未得出这些组件存在缺陷的结论,他呼吁更多审阅者和测试者参与。
他的自旋锁驱动程序工作展示了维护负担:看似微小的更改扩展到了头文件和生命周期问题,而一个提出的调试改进却遇到了已弃用的API。测试可能还需要修改固件和U-Boot,仅仅为了测试驱动程序。OpenAMP提供了构建说明和测试用例,但其示例在支持的开发板上尚未能统一运行。对于Sang来说,减少这种摩擦是维持现在正在构建的更复杂AMP系统的关键。
作者部分的主要容器
关于作者
部分标题
每个作者的主要容器
#### Olimpiu Pop
显示更多
显示更少
#### 此内容属于AMP主题
##### 相关主题:
- 开发
- 开源峰会欧洲
- Linux
- AMP
- 异步架构
- 相关编辑
- 相关赞助商 工程领域人工智能采用规模扩展(由O'Reilly提供)- 立即下载
- 相关赞助商 找出测试遗漏的缺陷。Antithesis通过确定性模拟探索数千种故障场景,在缺陷进入生产环境前发现难以复现的缺陷。了解其工作原理。
InfoQ新闻通讯
每周五内容精选,每周二发送。加入超过25万名高级开发者的社区。查看示例
我们保护您的隐私。