Description of problem: /proc/cpuinfo 'physical id' becomes corrupt, displaying arbitrary numbers. Version-Release number of selected component (if applicable): kernel 2.4.9-e59 How reproducible: Bug only appears under memory pressure and/or high load. Steps to Reproduce: In every case so far, just running the standard database load procedures will trigger this. Actual results: # cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) MP CPU 3.00GHz stepping : 6 cpu MHz : 2972.184 cache size : 512 KB physical id : -17034351 siblings : 1 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm bogomips : 5924.45 [snip, similar results for other 3 CPUs] Expected results: # cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Xeon(TM) MP CPU 3.00GHz stepping : 6 cpu MHz : 2972.184 cache size : 512 KB physical id : 0 siblings : 1 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss tm bogomips : 5924.45 [snip] Additional info: Is this possibly the result of phys_proc_id[] being declared as __initdata, getting freed as we start to swap, and on subsequent runs of get_cpuinfo() for procfs, showing a corrupt value? I mention it because it's not labeled as __initdata in the mainline 2.6.x sources, and it seems a plausible explanation. Note that this machine is a 4-way SMP with HT off (noht at boot).
This is a duplicate of 147674.