> Perhaps they could be also compressed a bit like SRAT.
Seems like a good idea... but I wonder what the best way to represent
things is. For example I have a 2-socket Nehalem system that shows:
2 times: MCA banks CMCI:2 CMCI:3 CMCI:5 CMCI:6 SHD:8
6 times: MCA banks CMCI:2 CMCI:3 CMCI:5 SHD:6 SHD:8
8 times: MCA banks SHD:2 SHD:3 SHD:5 SHD:6 SHD:8
presumably the first line is once per package, the next line is for the
first sibling in all the other cores in a package, and the last line is
for the SMT siblings of all the cores.
But would we want to accumulate all the different combinations of banks
along with a CPU mask and then print something like:
CPUs 0 4: MCA banks CMCI:2 CMCI:3 CMCI:5 CMCI:6 SHD:8
CPUs 1 2 3 5 6 7: MCA banks CMCI:2 CMCI:3 CMCI:5 SHD:6 SHD:8
CPUs 8 9 10 11 12 13 14 15: MCA banks SHD:2 SHD:3 SHD:5 SHD:6 SHD:8
--
of course output like that is going to lead to super-long lines on a
64-thread system.
Also I'm not sure of a clean way to implement this; unlike the SRAT
stuff, we need to deal with CPU hotplug so all this at best could be
__cpuinitdata, ie we can't discard it in most configs.
However the "MCA banks" output definitely is annoying on a 64-thread
system -- the amount of output is far greater than the utility of said
output. So ideas on the best way to reduce this would be appreciated.
Thanks,
Roland