0
votes

I am trying to use cpu-frequency scaling to set cpu frequency. In my system, only powersave , performance frequency-scaling-governor supported. It was explained in other document, by default, intel_pstate is enabled and it only supports powersave , performance frequency-scaling-governor and solution is disable intel_pstate. So I tried to disable as below

sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"
sudo update-grub

on reboot, intel_pstate is enabled.

so , again I made following changes in grub

sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable acpi=force"
sudo update-grub

on reboot, it still shows intel_pstate is enabled.

when I execute following command,

$ cpupower -c all frequency-info

    analyzing CPU 7:
      driver: intel_pstate
      CPUs which run at the same hardware frequency: 7
      CPUs which need to have their frequency coordinated by software: 7
      maximum transition latency:  Cannot determine or is not supported.
      hardware limits: 1.60 GHz - 3.90 GHz
      available cpufreq governors: performance powersave
      current policy: frequency should be within 1.60 GHz and 3.90 GHz.
                      The governor "powersave" may decide which speed to use
                      within this range.
      current CPU frequency: 1.72 GHz (asserted by call to hardware)
      boost state support:
        Supported: yes
        Active: yes
        25500 MHz max turbo 4 active cores
        25500 MHz max turbo 3 active cores
        25500 MHz max turbo 2 active cores
        25500 MHz max turbo 1 active cores

     $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
     intel_pstate


   $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors 
    performance powersave

As userspace governor is not available, I am unable to use cpu-frequency scaling (cpupower ).

I am using Intel Core-i7 @3.40GHZ, Linux debian-8.0 (kernel- 3.16.35 ).

It will be a great help if you can help me to resolve this problem. Thank you in advance.

EDIT 1:

As per suggestion of Peter Cordes,I make manual entry during boot time and now intel_pstate is disabled, but no cpu frequency governor or acpi cpufrequency driver not activated.

root@debian:~# cpupower -c 0 frequency-info
analyzing CPU 0:
  no or unknown cpufreq driver is active on this CPU
  CPUs which run at the same hardware frequency: Not Available
  CPUs which need to have their frequency coordinated by software: Not Available
  maximum transition latency:  Cannot determine or is not supported.
  hardware limits: Not Available
  available cpufreq governors: Not Available
  Unable to determine current policy
  current CPU frequency: Unable to call hardware
  current CPU frequency:  Unable to call to kernel
  boost state support:
    Supported: yes
    Active: yes
    25500 MHz max turbo 4 active cores
    25500 MHz max turbo 3 active cores
    25500 MHz max turbo 2 active cores
    25500 MHz max turbo 1 active cores

As no cpu frequency governor available, I am not able to set cpu frequency. I got following error messages when I try to set cpu frequency.

root@debian:~# cpupower -c 0 frequency-set -f 2000000
Setting cpu: 0
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
   for example because of hardware which cannot be set to a specific frequency
   or because the userspace governor isn't loaded?
1
Did you check your kernel command-line cat /proc/cmdline to make sure your GRUB setup actually works? Maybe something overrides the default command line args? What model of i7 (Skylake or not)?Peter Cordes
@PeterCordes, thanks for your prompt reply. when I execute cat /proc/cmdline command, surprisingly I got this output BOOT_IMAGE=/boot/vmlinuz-3.16.35 root=UUID=91a1a6fe-8e78-4ef5-ac7b-533930827350 ro initrd=/install/gtk/initrd.gz quiet isolcpus=1,2,3 This shows the intel_pstate=disable is not applied, although the option is there ( I crosschecked with nano )bholanath
Why don't you want to use intel_pstate? Just set the things you want using intel_pstate. What exactly are you trying to achieve in the end, since it turns out that disabling intel_pstate wasn't it?Peter Cordes
If your goal is just to set the CPU frequency to a specific value, you can do this with intel_pstate using /sys/devices/system/cpu/intel_pstate/max_perf_pct (and min_perf_cpt), or direct writes to the relevant MSRs.BeeOnRope
Sorry no. Maybe create a question.BeeOnRope

1 Answers

7
votes

sorry to post this as an answer but I don't have the reputation to post as a comment :/

I had the same problem when trying to disable intel_pstate driver in my intel core i7. While managing to disable it, acpi-cpufreq was not loading properly, the problem being SpeedStep was disabled. SpeedStep allows the frequency to be changed by software in these microprocessors, with it disabled it can only be touched by the hardware. You can access this option through BIOS settings. I hope that helps!