Linux 内核的内存屏障:一个让我调了三天的 bug
💡
原文中文,约200字,阅读约需1分钟。
📝
内容提要
x86 的 TSO 特性提供了强内存顺序保证,使得代码在没有显式屏障的情况下可能正确。然而,迁移到 ARM 时,这些隐藏的 bug 会暴露,导致问题。
🎯
关键要点
- x86 的 TSO 特性提供了强内存顺序保证。
- 在没有显式屏障的情况下,代码可能会碰巧正确。
- 迁移到 ARM 时,隐藏的 bug 会暴露,导致问题。
- x86 的特性可能导致代码在 ARM 上出现错误。
- 这与 relaxed load 在 x86 上的行为相似,都是同一个陷阱。
➡️