kernel warning: cacheinfo: Unable to detect cache hierarchy for CPU 0 #195
Comments
What do you suggest needs to be added to the dtbs? |
I did see this on a search: https://patchwork.kernel.org/project/linux-arm-kernel/patch/20180726003532.18751-2-andre.przywara@arm.com/ I doubt it will have any effect on performance (I'm sure L1 and L2 caches are already active). |
The error message comes from linux/drivers/base/cacheinfo.c.
Therefore, the "cache" directory in /sys/devices/system/cpu/cpu0/ is missing. "getconf -a | grep -i cache" also returns only the L1 cache size:
It looks like the cache information is not available in userspace. I also found this issue: The idea behind this is to adapt the data to the cache size in order to optimize the performance. I couldn't find a reliable source for BCM cache sizes and my knowledge of the device tree is limited, so I can't help you much. |
The last line of that forum thread says:
|
The relevant Kubernetes issues show that they suppressed the warning but did not change the cache detection. There is no point in disabling it as the driving forces in the armv8 server business (Amazon Graviton) seem to provide this information. |
There's (some?) cache info at https://www.raspberrypi.com/documentation/computers/processors.html and in the datasheets linked to from there. EDIT: also https://www.raspberrypi.com/documentation/computers/config_txt.html#disable_l2cache |
You can query the cache sizes from co processor registers: |
I checked some device trees for other SoCs and created a fix raspberrypi/linux#4751. |
On BCM2837/BCM2711 running in ARMv8 mode linux kernel 5.10 shows the warning:
It looks like the L1/L2/L3 hierarchy is missing which may have a huge impact on performance for some applications.
I think the device tree needs to be updated to fix this warning.
The text was updated successfully, but these errors were encountered: