dma cache wback 疑問 - Linux

Table of Contents

大家好,

小弟最近在研究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

(若此文有違板歸, 也請麻煩告知我該去哪個版問這個問題, 感謝~!!)

--

All Comments

Dinah avatarDinah2015-08-31
__BUILD_BLAST_CACHE_RANGE(pfx, desc, hitop, prot)
Daph Bay avatarDaph Bay2015-09-01
對應參數 (s, scache, Hit_Writeback_Inv_SD, ) 那一項.
Lauren avatarLauren2015-09-06
感謝!!