@H_404_0@@H_404_1@我正在使用双Cortex-A9系统,我一直在努力
了解为什么自旋锁功能需要使用DMB.它似乎
只要合并存储缓冲区刷新了锁定值
应该在解锁核心的L1上结束并且SCU应该
要么使另一个核心的L1中的值无效,要么更新.
这足以保持一致性和安全锁定吗?和
STREX不会跳过合并存储缓冲区,这意味着我们没有
甚至需要冲洗?
@H_404_1@DMB似乎是一种生硬的锤子,特别是因为它
默认为系统域,这可能意味着一直写入
主内存,这可能是昂贵的.
@H_404_1@锁定中的DMB是否为驱动程序的解决方法
正确使用smp_mb?
@H_404_1@我目前看到,基于性能指标,约占5%
我的系统周期在由DMB引起的停顿中消失.