从 ARM VIVT 看 cache
do_wp_page 的VIVT 考虑
Cache 的基本知识
用两个例子和图形分析下啥是index,啥是tag:
K8 4k 2-way cache, cache line 64B
ARM920T (SAM SUNG 2410a) I-cache :16k 64-way cache, 32B cache line
VIVT VIPT
Cache Alias
page color
virtual hints
这里顺便提下, 和cache alias相类似的问题是 Ambiguity: 不同的物理地址映射到相同的VA. 这种情况下在linux内, 只有不同进程的用户空间的页面才可能(fix me). 这种情况会造成同一个cache line在不同的进程中代表不同的数据, 切换进程的时候看似invalid user space 的cache必须进行. 实际上这个也要看是VIVT还是VIPT.
ARM cache的一些讨论
#endif