[問題] dma cache wback 疑問

看板Linux作者 (宅爸一枚)時間8年前 (2015/08/28 11:59), 8年前編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
大家好, 小弟最近在研究cache write back的機制, 想要改善code的performance時, 看到說既有driver會call: _dma_cache_wback_inv 而目前使用CPU是MIPS 24K 看到它的定義是: _dma_cache_wback_inv = r4k_dma_cache_wback_inv _dma_cache_wback = r4k_dma_cache_wback_inv _dma_cache_inv = r4k_dma_cache_inv 而r4k_dma_cache_wback_inv會再呼叫bc_wback_inv(addr, size) 再往下查bc_wback_inv的定義是bcops->bc_wback_inv(page, size) bcops裡面又定義: static struct bcache_ops mips_sc_ops = { .bc_enable = mips_sc_enable, .bc_disable = mips_sc_disable, .bc_wback_inv = mips_sc_wback_inv, .bc_inv = mips_sc_inv } 繼續往下查 static void mips_sc_wback_inv(unsigned long addr, unsigned long size) { blast_scache_range(addr, addr + size); } 查到這邊就斷了QAQ... linux cross reference也沒有繼續描述說這個blast是做啥的, google也找不太到資訊, 因為想往下了解硬體廚何處理cache的行為, 想請問有大大能幫忙解惑這個blast會驅使硬體(CPU/cache)怎麼動作嗎...? 感謝看倌 m(_ _)m (若此文有違板歸, 也請麻煩告知我該去哪個版問這個問題, 感謝~!!) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.205.229 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1440734379.A.044.html ※ 編輯: homer00 (60.250.205.229), 08/28/2015 12:00:19

08/28 14:20, , 1F
__BUILD_BLAST_CACHE_RANGE(pfx, desc, hitop, prot)
08/28 14:20, 1F

08/28 14:21, , 2F
對應參數 (s, scache, Hit_Writeback_Inv_SD, ) 那一項.
08/28 14:21, 2F

08/31 15:03, , 3F
感謝!!
08/31 15:03, 3F
文章代碼(AID): #1Ltzoh14 (Linux)