In the system, I can get the L3 cache size from two or more ways. Firstly, I can get it from the kernel interface, such as the `lscpu` command. Also, I can cat the file `/sys/devices/system/cpu/cpu3/cache/index3/size`. The way above can give me the L3 cache size is 32768K. Now if I use the `dmidecode -t cache` command, I get the L3 cache size is 24576K. And the real size of the L3 cache is 24576K. Why is it? who can explain it to me? Thanks.
ACPI reads these cache information from PPTT. The firmware which populates the ACPI PPTT must read it from DMI entries and keep them in sync. On this system, looks like the firmware tried to be more imaginative and populated PPTT with wrong values. Get that firmware fixed please! Answered by Sudeep Holla!