LINUX.ORG.RU

Неверная частота процессора? AMD A10-4600M

 , ,


0

2

Я всегда замечал, что после разгона на компе выдавалась неверная частота, но тут что то совсем странное. Некоторое время назад вывод был такой (все что ниже относится к ноутбуку Samsung NP355V4C)

[root@bupyc-notebook bupyc]# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 4.0 us.
  hardware limits: 1.40 GHz - 2.30 GHz
  available frequency steps: 2.30 GHz, 2.00 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz
  available cpufreq governors: userspace, ondemand, performance
  current policy: frequency should be within 1.40 GHz and 2.30 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 1.40 GHz (asserted by call to hardware).
  cpufreq stats: 2.30 GHz:5,30%, 2.00 GHz:0,09%, 1.80 GHz:0,09%, 1.60 GHz:0,13%, 1.40 GHz:94,40%  (27829)
  boost state support:
    Supported: yes
    Active: yes
    Boost States: 2
    Total States: 8
    Pstate-Pb0: 3200MHz (boost state)
    Pstate-Pb1: 2700MHz (boost state)
    Pstate-P0:  2300MHz
    Pstate-P1:  2000MHz
    Pstate-P2:  1800MHz
    Pstate-P3:  1600MHz
    Pstate-P4:  1400MHz
    Pstate-P5:  900MHz
И я задавался вопросом как включить эти boost state. Сейчас вывод такой
[root@bupyc-notebook bupyc]# cpupower frequency-info
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 4.0 us.
  hardware limits: 1.40 GHz - 2.30 GHz
  available frequency steps: 2.30 GHz, 2.00 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz
  available cpufreq governors: powersave, ondemand, performance
  current policy: frequency should be within 1.40 GHz and 2.30 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.40 GHz (asserted by call to hardware).
  boost state support:
    Supported: yes
    Active: yes
Хочу заметить, что я ничего в общем то не менял. Обратите внимание на powersave. А теперь вывод
[root@bupyc-notebook bupyc]# x86info -mhz
x86info v1.30.  Dave Jones 2001-2011
Feedback to <davej@redhat.com>.

Found 4 identical CPUs
Extended Family: 6 Extended Model: 1 Family: 15 Model: 16 Stepping: 1
CPU Model (x86info's best guess): Unknown CPU
Processor name string (BIOS programmed): AMD A10-4600M APU with Radeon(tm) HD Graphics  

Monitor/Mwait: min/max line size 64/64, ecx bit 0 support, enumeration extension
SVM: revision 1, 65536 ASIDs, np, lbrVirt, SVMLock, NRIPSave, TscRateMsr, VmcbClean, FlushByAsid, DecodeAssists, PauseFilter, PauseFilterThreshold
Address Size: 48 bits virtual, 48 bits physical
The physical package has 4 of 16 possible cores implemented.
2.30GHz processor (estimate).

 running at an estimated 2.30GHz
Он же должен выдавать текущую частоту? Мне нужно узнать. 1. Как узнавать действительно точную частоту? 2. Под виндой частота действительно меняется аж с 800 мгц и до 3200 мгц. Процессор сам переходит в режим 800 мгц под виндой при переходе в тихий режим охлаждения. Под линуксом оно работает? Как вообще точно определить? 3. Как мне задействовать эти boost? Все таки и powertop это распознал и у процессора есть такая фича.

Вот инфо об одном из четырех ядер

processor	: 3
vendor_id	: AuthenticAMD
cpu family	: 21
model		: 16
model name	: AMD A10-4600M APU with Radeon(tm) HD Graphics  
stepping	: 1
microcode	: 0x6001119
cpu MHz		: 1400.000
cache size	: 2048 KB
physical id	: 0
siblings	: 4
core id		: 3
cpu cores	: 2
apicid		: 19
initial apicid	: 3
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold bmi1
bogomips	: 4593.00
TLB size	: 1536 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm 100mhzsteps hwpstate cpb eff_freq_ro
Как я понимаю именно 100mhzsteps позволяет плавно менять частоту даже около 800? Кстати на том же андроиде ведь вполне можно софтом получать текущую частоту вида 965 мгц например. Это ноутбук, поэтому хочется максимально уменьшить или увеличить потребление энергии когда это необходимо.

P.S. Нашел в логе ядра 3.8 x86,AMD: Power driver support for AMD's family 16h processors т.е. мне выходит наверное остается только ждать. Судя по википедии 16h это вроде как тринити, которая вышла после бульдозера.

★★

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

Под линуксом оно работает?

Проверить можно здесь: /sys/devices/system/cpu/cpuN/cpufreq/cpb (насколько я помню, зависит от BIOS/UEFI). Во включённом состоянии активируется самим же железом при соблюдении ряда условий (например если нагрузка на одно-два ядра максимальная, не превышены лимиты по энергопотреблению и температуре процессора в целом - то есть одновременно на всех ядрах boost P-state включиться не могут). Boost P-state не указаны в максимальных hardware limits, потому что они спрятаны от стандартных средств ОС: http://support.amd.com/us/Processor_TechDocs/42301_15h_Mod_00h-0Fh_BKDG.pdf

To ensure proper operation, boosted P-states should be hidden from the operating system.

Это из раздела 2.5.2.1.1 который, я полагаю, должен дать ответы на все вопросы.

Как узнавать действительно точную частоту?

Например в cpufreq-aperf.

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

Просто например под виндой достаточно включить высокую производительность и нагрузить проц мб на 10-20% и частота уже 2.6 хотя обычная должна быть 2.4. А когда повышается нагрузка еще частота растет дальше. Кстати под арчем не нашел cpufreq-aperf или ему подобные. Однако есть модуль mperf. Есть ли какой нить софт для определения частоты? Или альтернативные варианты? Т.е. как я понял, железо тут само гонит до 3.2 постепенно, а меня будет в cpupower только 2.4? А ниже понижает? т.е. например 800 мгц?

Bupyc ★★
() автор топика
Ответ на: комментарий от Bupyc
[root@bupyc-notebook bupyc]# modprobe msr
[root@bupyc-notebook bupyc]# cpupower monitor 
    |Mperf               || Idle_Stats         
CPU | C0   | Cx   | Freq || POLL | C1   | C2   
   0| 14,20| 85,80|   897||  0,00|  2,12| 84,16
   1| 12,39| 87,61|   897||  0,00|  0,13| 87,60
   2| 10,98| 89,02|   897||  0,00|  0,38| 88,77
   3|  2,92| 97,08|   897||  0,00|  0,05| 97,12

В яблочко :) сейчас проведу еще тесты

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

Кстати под арчем не нашел cpufreq-aperf или ему подобные.

Есть ли какой нить софт для определения частоты? Или альтернативные варианты?

git clone git://git.kernel.org/pub/scm/linux/kernel/git/brodo/cpupowerutils.git
cd tools/power/cpupower
make


Т.е. как я понял, железо тут само гонит до 3.2 постепенно

Да.

А ниже понижает? т.е. например 800 мгц?

Вот насчёт конкретно 800 МГц не уверен, у вас в Pstate-P5 стоит 900. Каким макаром частота может становиться 800 МГц на Windows я не в курсе.

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

897 - 900 мгц. У меня щас другая проблема, после моих эксперементов, частота в мониторе выше 900 не поднимается. И похоже это так, т.к. я сейчас конвертирую видео 1080p в 10 потоков, нагрузка 100% по всем ядрам. Но ноут холодный...и температура проца 50 градусов -почти как в покое. И кулер не набирает высоких оборотов.

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

45 градусов если без нагрузки час стоит. А так 50 это как раз в покое. В винде при игре температура была около 70.

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

Вот блин. Это acpid всбесился. Я сейчас вырубал различные проги от самсунга, и решил его прибить. Прибиваю и скорость возрастает. Он почему то частоту в самый них снижал. Кстати в покое c ondemand:

[root@bupyc-notebook bupyc]# cpupower monitor 
    |Mperf               || Idle_Stats         
CPU | C0   | Cx   | Freq || POLL | C1   | C2   
   0|  2,62| 97,38|  1372||  0,00|  0,40| 97,21
   1|  2,09| 97,91|  1377||  0,00|  0,00| 98,08
   2|  3,87| 96,13|  1378||  0,00|  0,22| 96,18
   3|  1,97| 98,03|  1374||  0,00|  0,00| 98,22
Но кстати...powersave не понижает до 900 мгц! Мне тогда для энергосбережения каждый раз врубать acpid?) Как он вообще это врубает, если его нету в available frequency steps, но он есть в Pstate-Pb0: 3200MHz (boost state) Pstate-Pb1: 2700MHz (boost state) Pstate-P0: 2300MHz Pstate-P1: 2000MHz Pstate-P2: 1800MHz Pstate-P3: 1600MHz Pstate-P4: 1400MHz Pstate-P5: 900MHz ? Может есть какой то способ включать сам Pstate?

При кодировании видео больше 1800 не поднимается...т.е. даже 2400 не могу получить не то что boost.

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

Итак..по видимому Trinity все же не поддерживается полностью. Короче - ACPID понижает частоту в самый низ. Samsung-tools - имеет настройки винтилятора. Однако при включении минимального, тихого режима частота также уходит вниз даже если acpid выключен. При включении нормального режима - частота не более 1800. При включении максимального..ничего не происходит он не работает :) Зато убрав все эти проги для управления. все вроде бы работает нормально. Кстати «то есть одновременно на всех ядрах boost P-state включиться не могут» - могут

[root@bupyc-notebook bupyc]# cpupower monitor
    |Mperf               || Idle_Stats         
CPU | C0   | Cx   | Freq || POLL | C1   | C2   
   0| 99,99|  0,01|  2694||  0,00|  0,00|  0,00
   1| 99,99|  0,01|  2694||  0,00|  0,00|  0,00
   2| 99,99|  0,01|  2694||  0,00|  0,00|  0,00
   3| 99,97|  0,03|  2694||  0,00|  0,00|  0,02
Однако хочу заметить, что выше 2700 не поднимается, а должно!!! Pstate-Pb0: 3200MHz Pstate-Pb1: 2700MHz Выходит на линуксе я его вообще не могу активировать пока что. Работает только один буст из двух...

Хотя не, загрузил одно из 4 ядер, получил частоту двух последних около 3ггц. Но 3.2 не выходит. Как я понимаю 2.6 это максимум который выжимают 4 ядра. Однако если на одном из ядер что то в одни поток работает оно и до 3 поднимится...но думаю не больше

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

Зато убрав все эти проги для управления. все вроде бы работает нормально.

Скорее всего это (корректная работа powersave и acpid) именно то, для чего вам понадобиться ядро 3.8.

Кстати «то есть одновременно на всех ядрах boost P-state включиться не могут» - могут

Видимо если не превышены лимиты, boosted P-state 1 таки может включиться...

Однако хочу заметить, что выше 2700 не поднимается, а должно!!! Pstate-Pb0: 3200MHz Pstate-Pb1: 2700MHz Выходит на линуксе я его вообще не могу активировать пока что. Работает только один буст из двух...

...но boosted P-state 0 на всех ядрах точно не включится, так как с ним лимиты уже будут превышены, однако с одно-двухпоточной задачей, как и ожидается, поднимается выше:

Хотя не, загрузил одно из 4 ядер, получил частоту двух последних около 3ггц. Но 3.2 не выходит. Как я понимаю 2.6 это максимум который выжимают 4 ядра. Однако если на одном из ядер что то в одни поток работает оно и до 3 поднимится...но думаю не больше

Если я правильно понимаю документацию - причина недоступности 3.2 ГГц может быть в только в превышении лимитов по температуре и энергопотреблению, установленных для работы в режиме boosted P-state 0. Это в свою очеред может быть вызвано как заводской термопастой (стоит попробовать поменять) так и дизайном системы охлаждения. Как-то так.

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

какие демоны контроля энергопотребления работат? laptop-mode стоит? может есть несколько разных демонов и они конфликтуют? врядли самсунговские проги на самом деле нужны.

45 градусов если без нагрузки час стоит. А так 50 это как раз в покое

что-то дохера. у меня A8 - темпа 42-43 (при этом он лежит на одеяле) , кулер включается только под нагрузкой

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