The fix for this involves two settings changes. The first of which is to go into the motherboard BIOS/UEFI and make sure that SpeedStep or EIST is enabled. Different vendors call this feature different things, so I can't give you a specific setting name, it will just be something in the realm of those two settings. Some motherboard vendors have an "auto" setting, this should not be used if possible, because the Linux kernel doesn't tell the BIOS explicitly to enable it, you should always use the "enable" or "on" option for those settings.
The second involves modifying the bootloader to change the kernel boot arguments. In Fedora, you need to edit /boot/grub2/grub.cfg.
In the file, look for the following string:
Code: Select all
if [ -z "${kernelopts}" ]; thenCode: Select all
intel_pstate=disableCode: Select all
grub2-mkconfig -o /boot/grub2/grub.cfgIf frequency scaling still doesn't work, you may have a motherboard with broken ACPI, which is unfortunately not fixable. You can try and update the BIOS on your motherboard if you're not running the latest, but more likely than not, it will not fix the problem and you'll have to live with the CPU running at whatever frequency the motherboard is telling it to.