dma cache wback 疑問 - Linux

By Isla
at 2015-08-28T11:59
at 2015-08-28T11:59
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
(若此文有違板歸, 也請麻煩告知我該去哪個版問這個問題, 感謝~!!)
--
小弟最近在研究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
(若此文有違板歸, 也請麻煩告知我該去哪個版問這個問題, 感謝~!!)
--
Tags:
Linux
All Comments

By Dinah
at 2015-08-31T09:28
at 2015-08-31T09:28

By Daph Bay
at 2015-09-01T14:59
at 2015-09-01T14:59

By Lauren
at 2015-09-06T02:38
at 2015-09-06T02:38
Related Posts
用PuTTY無法安全登入PTT(SSH)

By Yuri
at 2015-08-27T16:38
at 2015-08-27T16:38
sed 帶變數 如何取代 特殊符號

By Audriana
at 2015-08-27T11:20
at 2015-08-27T11:20
How to make a new installable Linux?

By Gary
at 2015-08-26T15:22
at 2015-08-26T15:22
Noto 中文字體標點寬度問題

By Annie
at 2015-08-25T23:33
at 2015-08-25T23:33
我該選擇哪種Linux版本

By Sarah
at 2015-08-24T14:51
at 2015-08-24T14:51