作者roylee17 (把我id还我阿......)
看板LinuxDev
标题Re: [问题] Linux SMP 是否需要 cache coherency ꨠ…
时间Wed Feb 24 00:44:39 2010
※ 引述《jeunder ()》之铭言:
: 看起来 kernel 里面有太多 code 都是假设有 multi-processor cache coherence.
: spin lock 也只能用来确保 atomic,
: 然而有太多地方都直接 read/write memory 给 MP 之间取用,
: 完全没有对 cache coherence 做特别处理.
: 我怀疑 Linux SMP 机制, 有不成文的假设,
: 就是假设 MP 之间一定有 cache coherence 机制,
: 因此不用担心随便 write 某个共用 memory 就得用 ipi 通知所有 processor
: 做 cache flush/invalidate.
: 看看神写的 mail 内容, 似乎也是这个意思 ?
: http://lkml.indiana.edu/hypermail/linux/kernel/0007.3/1220.html
: 然後参考这个网页, 则是做到了我想做的事, kernel 应该改不少, 而且也有不少限制.
: 所以不敢自称 SMP, 只称 SMP-like.
: http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:smp-like
网页中的例子,spin_lock 是建立在 core_lock 上
而 core_lock 又建立在
"Shared on-chip L2 SRAM - Cannot be cacheable"
所以,到底还是需要 non-cacheable / coherent memory
: 很好奇, 业界的 embedded system 实作, 是不是很少有人在搞 Linux SMP ?
: 如果有, 是不是都满足以上假设 ?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.60.246