因此,在对 Linux 内核 ( ) 中的基本 L1 和 L2 缓存相关例程进行编程之后arch/arm/mm/cache-X.S
,例如特定于 ARM11 处理器,是否有可用的测试实用程序/程序来测试缓存是否正常工作,从而使失效、刷新正常发生。我们如何确保它而不是仅仅依靠我们自己的程序。
问问题
2348 次
3 回答
1
您可以使用 perfcounters 子系统。它基本上是对 CPU 性能计数器的抽象,这些计数器是记录缓存未命中、执行指令、分支错误预测等事件的硬件寄存器。它还为软件事件(原文如此)提供抽象,例如次要/主要页面错误、任务迁移、任务上下文-开关和跟踪点。该perf
工具可用于监控和验证正确的缓存行为 - 例如,您可以通过填充缓存、刷新缓存、测量后续内存访问的缓存未命中并将其与预期结果进行比较来检查缓存刷新是否正常。
于 2011-06-07T07:00:47.753 回答
0
你可以看看LMBench一个深度基准测试,它几乎可以在每个 linux 平台上运行(我已经在 x86、ARM9 和 CortexA8 架构上成功使用它)。您将能够测量缓存性能。
于 2011-05-20T11:18:21.533 回答
0
如果您的缓存正在使用 RAM,您可以刷新 Linux RAM:
echo "1" > /proc/sys/vm/drop_caches
echo "0" > /proc/sys/vm/drop_caches
free -m
于 2011-06-02T20:20:28.137 回答