【发布时间】:2020-07-19 21:49:00
【问题描述】:
在 Raspberry Pi 3B+ (ARMv8) 上,如何在内核模块中禁用缓存(或使用其他方法),以便在从内存地址读取时,它的值(以及它所在的页面)不会被缓存?如果所有内存读取都绕过缓存会更好,这样即使地址内容在第一次读取之前已经缓存,它也会被忽略。
换句话说,假设 p 是一个指向使用 kmalloc 分配的内存的指针,我有以下循环,
for (i=0;i<10;i++)
mem = p[i]
我的目标是确保所有地址都直接从 RAM 中读取,而不是从缓存中读取。
【问题讨论】:
-
MMU 决定一个区域是否可缓存。您可以更改类型编码以使区域不可缓存。
标签: linux-kernel arm raspberry-pi3