Povolení dalších governors v jádře

tomas

Povolení dalších governors v jádře
« kdy: 20. 03. 2014, 15:41:30 »
Ahoj,

na novějších kernelech  3.10,  3.12.  3.13  (suse, manjaro, sabayon )  jsou povoleny "GOVERNORS" jen powersave a performace.
Na staršich (3.2 ) jsou většinou povoleny ještě další (ondemand, conservative ... )

Co jsem googlil, tak jediná možnost jak to změnit je kompilace vlastního jádra, což už je na mě asi moc :-)

Je nějaký jiný způsob jak povolit další governory?

« Poslední změna: 20. 03. 2014, 15:45:58 od Petr Krčmář »


trubicoid2

Re:Povolení dalších governors v jádře
« Odpověď #1 kdy: 20. 03. 2014, 16:14:28 »
jestli ho nemaji jako modul, tak budes muset kompilovat
trochu mne zarazi, ze neni ondemand a neni defaultni, to by tak melo byt


Kód: [Vybrat]
zcat /proc/config.gz | grep CONFIG_CPU_FREQ_GOV

nextsux

Re:Povolení dalších governors v jádře
« Odpověď #2 kdy: 20. 03. 2014, 16:19:30 »
Ono totiz cca od 3.10 je ondemand obecne nedoporucovane. Na novejsich intelech myslim nejde ani nastavit. Vychazi to z jakesi studie ci vyzkumu (citation needed, jedna z diskuzi na toto tema: https://bbs.archlinux.org/viewtopic.php?id=163524), ktera rika, ze je lepsi vystrelit frekvenci na max, rychle udelat co je treba a pak zase usnout na nizke frekvenci nebo do hlubokeho spanku.
Obecne stfg "race to idle"

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Povolení dalších governors v jádře
« Odpověď #3 kdy: 20. 03. 2014, 16:28:54 »
Kompilace vlastního jádra není nic složitýho. Složitý je akorát vědět něco o svym HW :-) Já si kompiluju jádro už pár let a dnes bych si troufnul říct, že udělám jádro, který napoprvý najede se vším potřebným. Je to jen o hodně čtení (co k čemu je, abys věděl, co vlastně potřebuješ) a pak o hodně zaškrtávání/odškrtávání (to podle toho čtení).

Největší problém (pro Tebe) bude to, že to jádro je součástí už hotový distribuce, takže do hry přichází ještě initramfs, moduly (95% nepotřebných) a UEFI. S initramfs nemám zkušenosti, moduly se snažím zadělat do jádra (tak to prostě já osobně preferuju) a UEFI mám jen jeden počítač a i na něm UEFI boot nepoužívám... Moje jádro je zkompilované na Core i5-750 (4x fyzický jádro, 2,66GHz) za 3 minuty a má cca 4MB.

Nemusíš se toho úplně bát, ale pokud jedeš na nějakym user-friendly distru (Ubuntu, SUSE, Fedora, ...), budeš si přitom rvát vlasy... Na tohle je skvělý Gentoo (nebo Arch, osobně nemám zkušenost), kde Ti od začátku nezbývá než si jádro uplácat.

Teorie ale říká (jak tu někdo naznačil), že si vytáhneš ze současnýho jádra konfigurák, v něm zaškrtáš governory, zkompiluješ a hotovo. Takhle jednoduchý to ale v praxi určitě nebude a někde se to zasekne :-D

tomas

Re:Povolení dalších governors v jádře
« Odpověď #4 kdy: 20. 03. 2014, 17:23:50 »
no zkusím o té kompilaci něco přečíst,ale nevim nevim ... :-)

jinak je divný, že procesor je u 3.2  na volbu conservative  v klidovém stavu stabilně na 800Mhz
a u těch novějších na volbu powersave  neklesá pod 1100Mhz, což se samozřejmě projeví na výdrži.


Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Povolení dalších governors v jádře
« Odpověď #5 kdy: 20. 03. 2014, 17:34:07 »
Může to mít souvislost s throttlingem (může bejt v dřívějším jádře povolenej a v novějším ne, např.). O co jde - governor dává CPU vědět o běžných hranicích toho CPU, tedy třeba 1100 - 2500 po 400MHz. Throttling navíc udává v %, kolik z toho aktuálního taktu lze využít. Tím pádem se lze dostat i pod nejnižší úroveň (třeba pod těch 1100). Já osobně si myslím, že nemá cenu throttling řešit (ideálně zcela vypnout), protože podle mě není energetická úspora až tak velká, aby se vyplatilo snižovat takt víc, než umožní governor. Je to jen můj názor, naprosto nepodložený :-)

Nemusí to tím být, ale mohlo by.

Zpět ke kompilaci jádra: Jakou máš distribuci? Ještě mě ta napadá, jestli nemůže governor existovat taky jako modul... Stálo  za to možná pohledat.

trubicoid2

Re:Povolení dalších governors v jádře
« Odpověď #6 kdy: 21. 03. 2014, 11:32:05 »
Ještě mě ta napadá, jestli nemůže governor existovat taky jako modul... Stálo  za to možná pohledat.

jak jsem jiz byl rekl  8)

trubicoid2

Re:Povolení dalších governors v jádře
« Odpověď #7 kdy: 21. 03. 2014, 11:44:42 »
jinak je divný, že procesor je u 3.2  na volbu conservative  v klidovém stavu stabilně na 800Mhz
a u těch novějších na volbu powersave  neklesá pod 1100Mhz, což se samozřejmě projeví na výdrži.

conserva byla vetsinou horsi nez ondemand
co mas vlastne za CPU? podle 800MHz to vypada na amd a tam byly nejaky cachry a stary "AMD Opteron/Athlon64 PowerNow!" nefunguje, misto toho se ma pouzivat "ACPI Processor P-States driver"

tady koukas, ze?
Kód: [Vybrat]
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Povolení dalších governors v jádře
« Odpověď #8 kdy: 21. 03. 2014, 13:25:24 »
jak jsem jiz byl rekl  8)
Promiň, v tý Tvojí předchozí odpovědi jsem první řádek vůbec nečetl, jinak bych to už znova nenakousnul ;-)

tomas

Re:Povolení dalších governors v jádře
« Odpověď #9 kdy: 21. 03. 2014, 14:26:55 »

procesor je Intel core i5, rozsah   frekvence   800 - 3200 (turbo mod)

na 3.12 vypíše dostupné frekvence 800 - 3200 , ale i tak se to drží kolem těch 1100, podle mě k tomu není důvod.

trubicoid2

Re:Povolení dalších governors v jádře
« Odpověď #10 kdy: 25. 03. 2014, 10:52:28 »
a co rekne
Kód: [Vybrat]
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver intel_pstate? jestli jo, tak ma pravdu nextsux a to je novy scaling pro i3-7, prej je lepsi, ale nektery veci neukazuje nebo zmatene ukazuje

zrusit se da pomoci parametru jadra 
Kód: [Vybrat]
intel_pstate=disable ale rozmysli si/vyzkousej, jestli je lepsi vetsi uspora energie nebo aby hlasil vsechny frekvence presne

tomas

Re:Povolení dalších governors v jádře
« Odpověď #11 kdy: 25. 03. 2014, 14:01:50 »
Primárně řeším vyšší frekvenci procesoru a tím pádem i větší spotřebu.
Již delší dobu zkouším různý věci a myslel jsem, že to bude těmy governory,
Tak mě napadlo povolit všechny a vyzkoušet jak se to projeví na frekvenci.
Ale o víkendu  jsem zkoušel kernel 3.2, který má povolený  stejně jako 3.10, 3.13  jen powersave a performace a při běžné práci je frekvence stabilně 800 , jen občas vyskočí výš.

Logicky z toho teda usuzuji, že governory na to nemají vliv a bude to nějaký jiný parametr v kernelu.
Takže musím pátrat dál.

intel_pstate=disable   - vyzkouším to, uvidíme co to udělá, zatím jsem zkoušel jen nějaký věci s ACPI


 

trubicoid2

Re:Povolení dalších governors v jádře
« Odpověď #12 kdy: 25. 03. 2014, 14:15:39 »
jestli jsem to pochopil, tak rikaji, ze i kdyz procesor neskaluje frekvenci uplne jako predtim, tak intel_pstate ma nizsi spotrebu

to proto, ze acpi-cpufreq i kdyz snizil frekvenci na nejnizsi, tak nenecha cpu spat a porad se ptal "jak se ti spi?" a "nemas neco na praci?"

a novy intely procesory pry kdyz spi, tak maji malinkatou spotrebu, temer nezavisle na tom, na jake jsou frekvenci; naopak jim vadi probouzeni

takze intel_pstate=disable asi snizi frekvence, ale mozna stoupne spotreba; jak tu spotrebu meris?

yak

Re:Povolení dalších governors v jádře
« Odpověď #13 kdy: 07. 04. 2014, 16:08:14 »
Ja mam tiez trojkove jadro. 3.12.13-gentoo. Konfiguroval som ho cez menuconfig a zapol som tam vsetky governory (ondemand, userspace, powersave, conservative aj performance).

Nastavil som si v acpid, aby mi to detegovalo pripojenie na ac/baterku, na ac bezim na performance a na baterke na powersave.
Stale sa mi ale zda, ze to zerie moc. Na powersave su vsetky jadra (core i7 4600 na thinkpade t440s) permanentne na 2.1 Ghz, na performance to vyleti na 3Ghz (co je ok).

Tie dalsie governory (userspace, ondemand) mi vobec nejdu zapnut.

Kód: [Vybrat]
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance powersave

Neviem, preco mi ich neponuka, ked som ich v kerneli zapol a skompiloval si to. Chcel by som mat moznost nastavit najnizsiu
moznu spotrebu (800Mhz) nech viem, ci tym nieco usetrim, alebo je ok, ak to bude aj na tych 2Ghz.

Inak sa mi v pohode podari na baterke znizit potrebu pocas powersave aj pod 7 wattov, akurat ked pustim firefox, kde sa este pusti nejaky sprosty x86 adobe flash, hned sa to vyhuli na 14-15 w.

trubicoid2

Re:Povolení dalších governors v jádře
« Odpověď #14 kdy: 07. 04. 2014, 21:56:27 »
Chcel by som mat moznost nastavit najnizsiu moznu spotrebu (800Mhz)...
poradne si precti, co tu je uz napsany
Intel ted rika, ze 800MHz neznamena nejmenis spotrebu
a jestli na 800MHz trvas, pouzij parametr jadra intel_pstate=disable