Created attachment 294091 [details] dmesg of the boot when acpi cpufreq doesn't work The machine is old OptiPlex 780. The problem started to appear after replacing the CPU with Q8300. On some boots the ACPI cpufreq is detected, and on some doesn't (intel_state driver is disabled in kernel cmdline). What I found (and what looks related) is that there are 5 line missing from the dmesg of not-working boot: [ 0.024474] ACPI: SSDT 0x00000000BDBFFC40 000175 (v01 DpgPmm Cpu0Ist 00000011 INTL 20050624) [ 0.024478] ACPI: SSDT 0x00000000BDC00049 000175 (v01 DpgPmm Cpu1Ist 00000011 INTL 20050624) [ 0.024481] ACPI: SSDT 0x00000000BDC00452 000175 (v01 DpgPmm Cpu2Ist 00000011 INTL 20050624) [ 0.024485] ACPI: SSDT 0x00000000BDC0085B 000175 (v01 DpgPmm Cpu3Ist 00000011 INTL 20050624) [ 0.024488] ACPI: SSDT 0x00000000BDC00C64 000190 (v01 DpgPmm CpuPm 00000010 INTL 20050624) and those lines where present in the dmesg when the ACPI cpufreq was working.
I think we can boot with intel_idle enabled, since the intel_idle will use _CST table from ACPI as a reference when there is no customized cstate table in intel_idle driver. And please boot with "acpi.debug_layer=0x20000000 acpi.debug_level=0x4" with intel_idle enabled, which could help print the _CST parsing process to help narrow down.
If those SSDT tables sometimes disappear between boots, this is most likely a firmware problem not a Linux problem.
(In reply to Ard Biesheuvel from comment #2) > If those SSDT tables sometimes disappear between boots, this is most likely > a firmware problem not a Linux problem. Indeed, the _CST is in SSDT, and if it is missing, the acpi_cpuidle would not be loaded. Neither does intel_idle without customized table.
I've ended up with customized SSDT tables (dumped from the working boot) and it seems to work. I must say it's just great that you can do that so easily (I mean custom tables)!. Let me know you still want the acpi debug. PS, The same issue was with Xeon x3360.
Glad to hear that custom table helps. I don't think we can deal with this BIOS issue for now.