LINUX.ORG.RU

Пустой /sys/devices/system/cpu/cpufreq/


0

1

После обновления арча (предыдущий раз обновлял месяц назад) частота процессора стала слишким сильно скакать — даже при минимальных нагрузках ок. 3% частота прыгает выше минимальной.

У меня стояла политика ondemand и раньше при минимальных нагрузках процессора частота была минимальной (с увеличением нагрузки, соответственно, росла).

В арчевой вики прочитал про пороги, через /sys/devices/system/cpu/cpufreq/*, но у меня почему-то эта директория пуста!

Более того, в списке модулей cpufreq_* у меня вообще нет ondemand, который рекомендуется по умолчанию.

cpufreq info выдаёт для каждого ядра такое

  driver: intel_pstate
  CPUs which run at the same hardware frequency: 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 0.00 ms.
  hardware limits: 1.60 GHz - 3.30 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 1.60 GHz and 3.30 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  boost state support:
    Supported: no
    Active: no
    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
То есть говорит, что есть только две политики: performance, powersave, а сейчас powersave используется. (Хотя мне казалось, powersave = всегда минимальная частота, а она у меня прыгает в завивимости от нагрузки.)

Что я делаю не так? Я хочу ondemand и чтобы при нагрузках до 10% была минимальная частота. Что для этого надо сделать?

Ядро 3.9.4-1-ARCH.



Последнее исправление: meduza (всего исправлений: 3)

В арчевой вики прочитал про пороги, через /sys/devices/system/cpu/cpufreq/*, но у меня почему-то эта директория пуста!

Может /sys/devices/system/cpu/cpuN/cpufreq/?

Deleted
()

Более того, в списке модулей cpufreq_* у меня вообще нет ondemand, который рекомендуется по умолчанию.

Быть может он не собран вообще или собран модулем и не загружен.

Deleted
()
Ответ на: комментарий от Deleted

Да, спасибо. Но ondemand не работает. Только powersave и permormance. До обновления был ondemand, я точно помню. Я ничего не трогал.

meduza
() автор топика

ядро должно быть собрано:

CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=m
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

именно USERSPACE=y, а всё остальное модулями, которые потом будут доступны как говерноры. По другому, по крайней мере начиная примерно с 3.9.1/2 не получается, хотя раньше, вроде-бы можно было всё модулями.

И естественно cpufrequtils и модули нужно подгружать во время загрузки системы. Не в курсе как это в арче делается.

science ★★☆
()
Ответ на: комментарий от meduza

До обновления был ondemand, я точно помню

именно, у меня на генте тоже получилось вернуть нормальную работу как ранее - только выше описанным конфигом.

science ★★☆
()
17 августа 2013 г.

Отключил CONFIG_X86_INTEL_PSTATE

Теперь частота не скачет, cpufreq не пустой, все как было, но при включенном X86_INTEL_PSTATE максимальная частота была на уровне turbo-boost (3.2ГГц для всех 4 ядер у 2.4ГГц процессора) и меня это устраивало ибо температура позволяла, теперь максималка 2.4ГГц.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.