Red Hat Bugzilla – Bug 647949
Wrong /sys/devices/system/cpu/cpu*/cache/index4/shared_cpu_map for L3 and L2 cache on HP Integrity BL870c box with 2 Intel Itanium2 9140N processors
Last modified: 2011-02-24 08:30:49 EST
Created attachment 456575 [details]
/sys tree structure for 2.6.18-227.el5 on hp-bl870c-01.rhts.eng.bos.redhat.com box
Description of problem:
We see wrong CPU topology reported by kernel on the following box:
It's HP Integrity BL870c box with two (dual socket) Intel Itanium2 9140N processors with Hyperthreading enabled. Check
Each socket has L3 cache shared among all cores. However,
/sys/devices/system/cpu/cpu*/cache/index4/shared_cpu_map is empty. It means that kernel does not know that l3 cache is associated with 4 cores.
Same problem with L2 cache.
/sys/devices/system/cpu/cpu0/cache/index3/shared_cpu_map is empty map. It's wrong.
Another problem is with size of L3 cache. The physical size of L3 is 18MB. Kernel reports only 9MB. It seems like kernel is confused with hyper-threading being enabled.
Version-Release number of selected component (if applicable):
Install RHEL 5.6 and check
/sys/devices/system/cpu/cpu*/cache/index4/shared_cpu_map => should contain all cores on one Socket
/sys/devices/system/cpu/cpu0/cache/index3/shared_cpu_map => Should contain two cores (hyperthreading is enabled)
/sys/devices/system/cpu/cpu0/cache/index4/size => should be 18MB
Empty list (all 0s)
Empty list (all 0s)
9MB (should be 18MB)
Actually, I think the L3 cache in this Itanium is not shared between cores. There are two 9MB L3 caches, one per core, 18MB total. So index4/shared_cpu_map should contain 2 bits (2 threads of a core), not 4 bits (4 threads of 2 cores of a socket).
thanks for the correction. I have been searching Intel web site for the detailed specification but without success.Finally I have found this link:
There are indeed 2 9MB L3 caches, one per each core, 18MB total. index4/shared_cpu_map should contain 2 bits (2 threads of a core).
No customer has complained about this so I'm inclined to leave it as is. AFAICT, this does not impact performance.