[問題] dma cache wback 疑問
大家好,
小弟最近在研究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
08/28 14:20, 1F
→
08/28 14:21, , 2F
08/28 14:21, 2F
→
08/31 15:03, , 3F
08/31 15:03, 3F