受教了。“我們以為是應(yīng)用層在讀cache,內(nèi)核讀內(nèi)存”,開(kāi)始我也這樣以為的,本來(lái)還對(duì)snail同學(xué)存在一些疑問(wèn) ...
sep 發(fā)表于 2010-11-04 22:23
謝謝分享
王齊在 linux powerpc詳解 提到了物理cache 和虛擬cache一說(shuō).
是不是就是lz說(shuō)的物理cache和邏輯 ...
smalloc 發(fā)表于 2010-11-04 22:26
回復(fù) duanius
恩.你看看這句是不是筆誤
應(yīng)用層讀取這片vma的時(shí)候是根據(jù)其指定的nocache屬性去讀 ...
smalloc 發(fā)表于 2010-11-04 22:58
還有你現(xiàn)在出問(wèn)題的板子上2種cache同時(shí)實(shí)現(xiàn)了嗎?同時(shí)作用?
我看你前面的描述感覺(jué)并不是同時(shí)實(shí)現(xiàn),好象說(shuō)有的 ...
smalloc 發(fā)表于 2010-11-04 23:02
回復(fù) duanius
關(guān)于這個(gè)問(wèn)題我認(rèn)真想了下.有些疑問(wèn),實(shí)際隱隱感覺(jué)解釋不協(xié)調(diào).
下面慢慢寫(xiě)出來(lái). ...
smalloc 發(fā)表于 2010-11-05 15:11
你說(shuō)的對(duì) 我這個(gè)說(shuō)法是錯(cuò)誤的。 我寫(xiě)這塊的時(shí)候沒(méi)仔細(xì)想,把它和dma時(shí)的一致性弄混淆了。x86應(yīng)該有些可以確保的機(jī)制但應(yīng)該就和總線沒(méi)啥關(guān)系了 我具體再去查查
至于tlb和cache,是兩碼事。雖然tlb本質(zhì)上也是cache,但是給mmu用的。這里沒(méi)有直接關(guān)系,有cache的系統(tǒng),也不一定有mmu阿
1. 應(yīng)該是關(guān)聯(lián)的,你上面的例子里,如果用pci dma接口分配一個(gè)DMA consistent 的內(nèi)存,然后再fo ...
Solaris12 發(fā)表于 2010-11-05 17:01
回復(fù) duanius
我承認(rèn)還有一點(diǎn)不能確認(rèn).就是一個(gè)cache一個(gè)nocache為什么會(huì)不一致
我在找確著的證 ...
smalloc 發(fā)表于 2010-11-05 21:06
回復(fù) duanius
這個(gè)挺麻煩.
你只要在內(nèi)核讀完再在內(nèi)核全部寫(xiě)不正確數(shù)據(jù),然后用戶再寫(xiě).循環(huán)執(zhí)行
...
smalloc 發(fā)表于 2010-11-06 11:51
我覺(jué)得這個(gè)帖子很重要 不僅說(shuō)明了虛實(shí)映射類(lèi)型 還說(shuō)明了多映射帶來(lái)的CACHE問(wèn)題 有很多隱含問(wèn)題可能都來(lái)源于此
“意味著對(duì)于我們的cpu(v5),當(dāng)應(yīng)用層用其地址空間的地址把共享區(qū)從內(nèi)存加到cache后,內(nèi)核同樣訪問(wèn)這片區(qū)域的時(shí)候,也可以按照其kmalloc分配的地址將同一片內(nèi)存中的數(shù)據(jù)加載到cache的另一行中,這就意味著一個(gè)內(nèi)存塊會(huì)有2個(gè)cache拷貝”
duanius 發(fā)表于 2010-11-04 21:47
這周碰到的一個(gè)問(wèn)題,在解決的過(guò)程中得到不少高手的熱心幫助,把一些總結(jié)貼出來(lái),歡迎大家指點(diǎn)。
寫(xiě)一個(gè) ...
歡迎光臨 Chinaunix (http://72891.cn/) | Powered by Discuz! X3.2 |