LINUX.ORG.RU
ФорумAdmin

intel_pstate scaling

 


0

1

Как убрать scaling на intel_pstate?

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
performance
performance
performance
performance
performance
performance
performance
grep MHz /proc/cpuinfo
cpu MHz         : 1641.429
cpu MHz         : 1743.164
cpu MHz         : 3623.789
cpu MHz         : 2173.210
cpu MHz         : 1867.875
cpu MHz         : 2068.156
cpu MHz         : 1770.257
cpu MHz         : 1813.820

Ответ на: комментарий от sin-ok

Я его там и прописал.

ENABLE="true"
GOVERNOR="performance"
MAX_SPEED="0"
MIN_SPEED="3400000"

Но cpu speed прыгает (1600~3400+)

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

Тебе надо минимальную или максимальную производительность? Если максимальную, то можно оставить так. Turbo Boost поднимает частоту в зависимости от загруженности проца.

Если хочешь выключить Turbo Boost (но тогда проц не разгонится до максимума), тогда попробуй вот это.

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

Хочу включить максимальную производительность.
Если нагрузить cpu - то он показывает.

grep MHz /proc/cpuinfo
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023

Когда без нагрузки.

grep MHz /proc/cpuinfo
cpu MHz         : 1595.742
cpu MHz         : 1705.843
cpu MHz         : 3614.890
cpu MHz         : 3749.562
cpu MHz         : 2176.664
cpu MHz         : 1815.546
cpu MHz         : 1971.070
cpu MHz         : 1605.835

Пробовал выключить Turbo Boost.

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

grep MHz /proc/cpuinfo
cpu MHz         : 3400.000
cpu MHz         : 3400.000
...

Далее, если снова без нагрузки.

grep MHz /proc/cpuinfo
cpu MHz         : 1888.460
cpu MHz         : 2558.898
...

На драйвере acpi-cpufreq достаточно сделать.

cpufreq-set -g performance -r
И cpu speed будет фиксированно 3400. Но тогда без Turbo Boost. Как сделать тоже самое на intel_pstate с Turbo Boost.

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

Были какие-то два параметра, по-моему в /sys, в которых можно было поставить минимальную и максимальную частоту ядер (по дефолту у минимального параметра было значение 30, у максимального 100), но сейчас я не помню, какие именно. Вроде бы, поставив минимальному параметру 100, проц разгонялся до максимума.

Но не факт, что это тебе надо, т.к. чем меньше ядер разогнаны, тем больше может быть их максимальная частота. Например, если разогнаны все ядра, частота каждого будет по 3.7 GHz, но если только одно, то оно может разогнаться до 4+ GHz (подробности по своему процу можешь найти в википедии, либо на сайте интела). Ну и энергопотребление будет выше, если все ядра будут молотить на максимальной частоте.

У Turbo Boost хороший алгоритм выбора частоты, так что, имхо, лучше ничего не трогай, и пусть оно само разгоняется, если ему надо.

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

Нашел max_perf_pct и min_perf_pct. Но они по 100.

cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
100

cat /sys/devices/system/cpu/intel_pstate/min_perf_pct
100

И все же ради интереса. Как на intel_pstate отключить scaling?
Мб вообще через bios?

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

И все же ради интереса. Как на intel_pstate отключить scaling?

Тут пишут, что scaling неотключаем средствами ОС, и что процессор сам будет выбирать нужную частоту:

The idea that frequency can be set to a single frequency is fiction for Intel Core processors. Even if the scaling driver selects a single P state the actual frequency the processor will run at is selected by the processor itself.

На некоторых биосах можно отключать Turbo Boost, но про scaling ничего не скажу.

anonymous
()

так попробуй:

# echo 3700000 > /sys/devices/system/cpu/cpu*/cpufreq/scaling_min_freq
# echo 3700000 > /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq

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

лол, не успел проверить.

DONT touch any BIOS Settings. If you do and we must do an Reset it will cost an fee of 21€. All Settings are fine for our Datacenter.

poiuty
() автор топика
Ответ на: комментарий от devl547

Например в случае с VPS. Когда клиент смотрит /proc/cpuinfo - начинаются вопросы => «почему у меня ядро 1600Mhz, а не 3400?».
Плюс шустрее работает CPU. Когда ему не нужно постоянно менять cpu speed.
На жручесть пофигу - это уже проблема ДЦ.

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

Процитирую хэлп по соответствующей опции в конфиге ядра:

CONFIG_X86_INTEL_PSTATE:

This driver provides a P state for Intel core processors.
The driver implements an internal governor and will become the scaling driver and governor for Sandy bridge processors.
When this driver is enabled it will become the preferred scaling driver for Sandy bridge processors.

If in doubt, say N.

and will become the scaling driver and governor

Почему ты удивляешься, что при использовании intel_pstate стратегия выставления частоты процессора не такая, как ты хочешь, а такая, какая захардкожена Intel-овскими инженерами?

yura_ts ★★
()
Последнее исправление: yura_ts (всего исправлений: 5)
Ответ на: комментарий от poiuty

Когда клиент смотрит /proc/cpuinfo - начинаются вопросы => «почему у меня ядро 1600Mhz, а не 3400?».

Интересно, дома у клиента что за процессор)

Плюс шустрее работает CPU. Когда ему не нужно постоянно менять cpu speed.

Кто-то тестировал - разница с performance в пределах погрешности была.

devl547 ★★★★★
()
Ответ на: комментарий от poiuty

Волков бояться… В этом предложении есть условия, и если работники там адекватны, то это лишь предостережение.

wakuwaku ★★★★
()
Ответ на: комментарий от devl547

разница с performance в пределах погрешности была

в Gentoo, world ощутимо быстрее собирается если на это время performance форсировать

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

Пробовал. Не помогает. Кстати, эти значения можно выставить через конфиг /etc/init.d/cpufrequtils

MAX_SPEED="3700000"
MIN_SPEED="3700000"

poiuty
() автор топика
Ответ на: комментарий от Alyssa

полторы минуты

у меня хромиум собирается ± полчаса, но скажем 37 собирался в среднем час, а 38 уже 2 (это если выкинуть тот случай, когда он собирался 4 часа). Для ядра статистики нет, но там что-то около 5-10 минут, не критично.

на www-client/firefox-36.0 ушло 15 минут, прошлые версии были 30-50 минут (все версии custom-cflags custom-optimization jit), так что довольно забавно.

да, это считается в пределах погрешности (не лиса).

wakuwaku ★★★★
()
Последнее исправление: wakuwaku (всего исправлений: 2)
Ответ на: комментарий от wakuwaku

а performance - это единственный режим, который не роняет частоту)

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

в Gentoo, world ощутимо быстрее собирается если на это время performance форсировать

А ты точно его собирал на процессоре с Turbo Boost с intel_pstate в качестве драйвера?

а performance - это единственный режим, который не роняет частоту)

Прочитай тред, ТС не раз указывал случаи, когда с performance и без нагрузки процессор не выдавал максимальной частоты.

Вообще, можно хоть перманентно сидеть на powersave, если ядра имеют возможность разгоняться до максимума. Я так и делаю ^_^

anonymous
()

Когда используем драйвер acpi-cpufreq и выставляем performance режим.
То cpuinfo показывает фейковые 3.4Ghz

grep MHz /proc/cpuinfo
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000

Проверяем через turbostat.

  CPU   GHz    TSC
 avg   2.14   3.40
   0   1.75   3.40
   1   2.20   3.40
   2   3.73   3.40
   3   3.85   3.40
   4   2.03   3.40
   5   1.78   3.40
   6   1.72   3.40
   7   1.95   3.40

Если нагрузить процессор, то Mhz увеличится, а так же включится turbo boost.

 CPU   GHz    TSC
 avg   3.70   3.40
   0   3.70   3.40
   1   3.70   3.40
   2   3.70   3.40
   3   3.70   3.40
   4   3.70   3.40
   5   3.70   3.40
   6   3.70   3.40
   7   3.70   3.40

Но при этом, по cpuinfo => мы увидим все те же 3.4Ghz.

grep MHz /proc/cpuinfo
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000
cpu MHz         : 3401.000

intel_pstate => аналогично, но cpuinfo будет показывать реальные данные.

grep MHz /proc/cpuinfo
cpu MHz         : 1595.742
cpu MHz         : 1705.843
cpu MHz         : 3614.890
cpu MHz         : 3749.562
cpu MHz         : 2176.664
cpu MHz         : 1815.546
cpu MHz         : 1971.070
cpu MHz         : 1605.835

------

grep MHz /proc/cpuinfo
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023
cpu MHz         : 3700.023

Кроме этого, можно через драйвер выключить/ включить Turbo Boost.

echo 0 > /sys/devices/system/cpu/intel_pstate/no_turbo
CPU   GHz    TSC
 avg   3.70   3.40
   0   3.70   3.40
   1   3.70   3.40
   2   3.70   3.40
   3   3.70   3.40
   4   3.70   3.40
   5   3.70   3.40
   6   3.70   3.40
   7   3.70   3.40

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo
 CPU   GHz    TSC
 avg   3.40   3.40
   0   3.40   3.40
   1   3.40   3.40
   2   3.40   3.40
   3   3.40   3.40
   4   3.40   3.40
   5   3.40   3.40
   6   3.40   3.40
   7   3.40   3.40

На сколько я понял => чтобы отключить frequency scaling, нужно выключить в BIOS => StepSpeed и C1E.

poiuty
() автор топика
Ответ на: комментарий от anonymous

ты точно его собирал на процессоре с Turbo Boost

не, ща глянул - проц не поддерживает

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