了解内存屏障

问题描述

目前正在阅读一篇关于内存屏障的文章(在 MESI 中),我对此几乎没有疑问。 有 4 种类型的内存屏障 LoadLoad、StoreStore、LoadStore 和 StoreLoad。 我了解 LoadLoad 和 StoreStore 的作用。

例如 LoadLoad 它是一个读取屏障(在 Linux smp_rmb 上),它使核心处理来自无效队列的所有无效请求。 StoreStore 也是一样,它的核心是等待所有的 store 请求。

但是 LoadStore 和 StoreLoad 是做什么的?是不是和 LoadLoad 和 StoreStore 一样?如果 LoadStore 让 core 在 store 之前完成所有的加载操作,core 是否会以其他方式而不是处理失效队列?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)