+ -
当前位置:首页 → 问答吧 → SMP 疑问

SMP 疑问

时间:2010-10-20

来源:互联网

从 linux 内核情景分析看到:

memory barrier 用于CPU 主动将自己高速缓存里的内容冲刷到RAM 中;
snooping 用于一旦发现总线上有其他 CPU 对自己已缓存的数据的写操作, 自己废弃掉相应的缓冲线;

但现在有这么一个疑问:
在CPU1 更新高速缓存尚没有使用 memory barrier 冲刷前; 另一个 CPU2 写了相应的内存; 照snooping 机制, 是不是要导致 CPU1 要废弃缓存线? 那么很显然, CPU1 的更新就丢失了, 这中间还有什么机制呢?

作者: zylthinking   发布时间: 2010-10-20

回复 zylthinking


    废掉缓存线的意思是write through吧,不是说drop off.

作者: snail_314   发布时间: 2010-10-20