2013-06-18 46 views
1

英特爾處理器獲取緩存細節ARM處理器 - Linux的

Linux linux-epq2.site 3.7.10-1.11-desktop #1 SMP PREEMPT Thu May 16 20:27:27 UTC 2013 (adf31bb) x86_64 x86_64 x86_64 GNU/Linux 

獲取緩存細節:

cat /sys/devices/system/cpu/cpu*/cache/index*/ 

其中*爲各自的CPU和緩存索引號

然而,在ARM處理器上,此文件/文件夾不可用。有沒有辦法獲取這些細節?

Linux arndale 3.9.0-rc5+ #8 SMP Tue Apr 9 12:40:32 CEST 2013 armv7l GNU/Linux 
+0

任何想法?到目前爲止我沒有找到任何解決方案。 – pistal

+0

否。在[ARM內核目錄](https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/arm/kernel)中,沒有* arm_cacheinfo.c *,如[intel_cacheinfo.c](https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/x86/kernel/cpu/ intel_cacheinfo.c)文件。有一些'MRC p15 ...'可以檢索這些信息,但目前它不在Linux中。 –

+0

謝謝!希望他們很快實現它 – pistal

回答

0

從ARMv8A(64位),可以從CLIDR寄存器獲取緩存信息。因此,緩存信息可以填充到Linux中的/ sys文件系統。查看kernel/arch/arm64/kernel/cacheinfo.c的詳細信息。

+0

順便說一下,qemu-system-aarch64的模擬器不顯示來自/ cache的緩存信息。這並不意味着ARM64不支持Linux中的緩存信息。這是Qemu創建的默認設備樹的「bug」。它應該在CPU節點中添加下一級緩存。 – zhiyisun