View previous topic :: View next topic |
Author |
Message |
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Sun Jun 10, 2007 11:43 pm Post subject: [HOW-TO] Reduce Power Usage |
|
|
QUANTO ESPOSTO IN QUESTA GUIDA NON E' SUPPORTATO DA GENTOO. NON POSTATE SU BUGZILLA RIGUARDO A TEMATICHE CORRELATE A QUANTO TRATTATO IN QUESTO THREAD SE AVETE SEGUITO LE PROCEDURE ESPOSTE.
Attenzione, il kernel 2.6.22-r4 non crea devices di loopback, per maggiori informazioni consultate il post di drizzt
.INTRODUZIONE
Piu' che un how-to si dovrebbe chiamare multi-tip.. ma veniamo al sodo.
Come ben sapete, intel ha messo a disposizione da qualche tempo un tool, powertop per monitorare i software che concorrono maggiormente ad incrementare il consumo dei nostri pc.
L'importanza di tale progetto non e' tanto il software in se', ma la mole di patch che si e' creata per ridurre i consumi prodotti dai programmi piu' diffusi.
Questo HOW-TO vuole essere un punto di riferimento per le patch e le metodologie che ognuno di noi scopre e che possono tornare utili agli altri.
.ANALISI
Per prima cosa, consiglio fortemente a tutti di installare powertop. Lo trovate in portage ma e' comodamente installabile anche da svn.
Leggete e fate tesoro di tutte le informazioni reperibili su questa pagina: http://www.linuxpowertop.org/faq.php per prendere confidenza con laa terminologia che andremo ad usare e le tematiche legate al consumo energetico su un pc.
Monitorate la situzione energetica prima di seguire questa guida e fate il confronto con i risultati che otterrete dopo
.CONFIGURAZIONE
.CORE
Come avrete letto, e' consigliato almeno un kernel 2.6.21 in modo da poter ridurre in modo sostanziale i wakeups/s grazie all'opzione CONFIG_NO_HZ su x86. Per quanto riguarda x86_64 tale opzione e' stata implementata a partire dal 2.6.22-rc4.
In questo howto useremo appunto l'ultima release candidate del 2.6.22, vale a dire la 2.6.22-r4 con una patch per hrtimers.
Maggiori informazioni le potete trovare sul sito del progetto: http://www.tglx.de/hrtimers.html
Questa patch, fra i tanti benefici per il target che ci siamo prefissati, permette di forzare l'utilizzo dell'hpet timer anche su ICH4 (sul sito di powertop affermano che il timer hpet e' presente solo da ICH5 in su, ma sia io che drizztbsd abbiamo constatato che anche ICH4 lo supporta tramite questa patch).
Andiamo quindi a scaricare i sorgenti del kernel e la patch:
Code: | cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.22-rc4.tar.bz2
tar -xjvf linux-2.6.22-rc4.tar.bz2
mkdir powersave-patches
cd powersave-patches
wget http://www.tglx.de/projects/hrtimers/2.6.22-rc4/patch-2.6.22-rc4-hrt10.patch
cd ../linux-2.6.22-rc4
patch -p1 < ../powersave-patches/patch-2.6.22-rc4-hrt10.patch |
Copiate il vostro vecchio files di config e aggiornate la configurazione:
Code: | cp /path/to/old/conf .config
make oldconfig |
Fra le varie opzioni del 2.6.22, vedrete delle nuove features inerenti esclusivamente la patch applicata, in particolare le seguenti, che vanno abilitate:
Code: | Power management options (ACPI, APM) --->
CPU idle PM support --->
[*] CPU idle PM support
--- Governors
<*> 'ladder' governor (NEW)
<*> 'menu' governor (NEW) |
Queste opzioni sono particolarmente utili nel favorire l'utilizzo dello stato piu' basso della CPU, (C4 nella maggior parte dei casi).
La descrizione del governor menu sara' esplicativa:
Code: | │ CONFIG_CPU_IDLE_GOV_MENU: │
│ │
│ This cpuidle governor evaluates all available states and chooses the │
│ deepest state that meets all of the following constraints: BM activity, │
│ expected time until next timer interrupt, and last break event time │
│ delta. It is designed to minimize power consumption. Currently │
│ dynticks is required. |
Per tutte le altre opzioni da ebilitare/disabilitare, mettete in pratica quanto letto prima nelle FAQ di powertop
.CORE/EXTRA
Fatto il passo fondamentale per i molti utenti che si trovano ad usare i driver radeon open, se hanno letto le FAQ precedentemente linkate, c'e' una brutta sorpresa: il driver radeon infatti produce degli interrupt in accesso per gli eventi vblank. E' stata completata una patch porre rimedio a questo problema, ma applicarla non e' cosi' immediato. Per maggiori info, date pure un'occhiata al post originale dell'autore.
C'e' a disposizione un'altra patch, molto grezza, ma che almeno funziona e permette pure di fruire dell'accelerazione 3D (trovata qui: http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg30663.html )
Code: | cd ../powersave-patches/
wget http://www.minimalblue.com/ftp/public/linux/powersave-patches/radeon_vblanks.patch
cd ../linux-2.6.22-rc4
patch -p1 <../powersave-patches/radeon_vblanks.patch |
In aggiunta a tutto cio', se volete potete applicare anche la patch per suspend2 (http://www.suspend2.net/):
Code: | cd ../powersave-patches/
wget http://www.suspend2.net/downloads/all/suspend2-2.2.10.1-for-2.6.22-rc4.patch.bz2
bunzip2 suspend2-2.2.10.1-for-2.6.22-rc4.patch.bz2
cd ../linux-2.6.22-rc4
patch -p1 <../powersave-patches/suspend2-2.2.10.1-for-2.6.22-rc4.patch
|
Ricompilate il kernel e buona fortuna.
Ricordatevi che e' tutto altamente sperimentale, quindi qualcosa potrebbe andare storto: prestate molta attenzione a conservare il precedente kernel con il vostro file di configurazione.
.SOFTWARE
Sul sito di powertop sono presenti numerosi fix per vari applicativi. Fra quelli che uso e di cui ho provato il relativo fix, ho avuto problemi con firefox-2.0.0.4
La patch sul sito non funziona. Vista la diffusione di tale sw, ho pensato di correggerla e di preparare pure il relativo ebuild
Partendo dal presupposto che in /etc/make.conf abbiate Code: | PORTDIR_OVERLAY=/usr/local/portage | procediamo:
Code: | mkdir -p /usr/local/portage/www-client/mozilla-firefox/
cp -r /usr/portage/www-client/mozilla-firefox/files /usr/local/portage/www-client/mozilla-firefox/files
cd /usr/local/portage/www-client/mozilla-firefox/files
wget http://www.minimalblue.com/ftp/public/linux/powersave-patches/firefox_powertop.patch
cd ..
wget http://www.minimalblue.com/ftp/public/linux/powersave-patches/mozilla-firefox-2.0.0.4.ebuild
ebuild mozilla-firefox-2.0.0.4.ebuild digest
emerge mozilla-firefox |
Questa e' solo una piccola parte nell'ottimizzazione della propria macchina verso il risparmio energetico: spero che l'howto sia comunque utile ad avviare una discussione e uno scambio di informazioni proficuo _________________ minimalblue.com | secgroup.github.io/
Last edited by lavish on Sun Jun 17, 2007 1:20 pm; edited 6 times in total |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Mon Jun 11, 2007 7:57 am Post subject: |
|
|
Molto molto bello.
Sarebbe bello anche riuscire a capire qualcosa riguardo le patch per le applet del mixer, il bugzilla di gnome è discretamente confusionario, e la pagina è oltremodo lunga da leggere. |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jun 11, 2007 7:59 am Post subject: |
|
|
riverdragon wrote: | Molto molto bello.
Sarebbe bello anche riuscire a capire qualcosa riguardo le patch per le applet del mixer, il bugzilla di gnome è discretamente confusionario, e la pagina è oltremodo lunga da leggere. |
Code: | <mode="taliban">
basta non usarli
</mode> |
Non essendo uno gnome user non posso essere d'aiuto, mi spiace _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Mon Jun 11, 2007 8:05 am Post subject: |
|
|
lavish wrote: | Non essendo uno gnome user[...] | Male! Va be', ci penserò da solo, se avrò successi li scriverò qui.
Lavish, c'è un sistema discretamente semplice per applicare le patch di gentoo al kernel 2.6.22-r4? Tra una decina di giorni il mio bisogno di funzionare a batteria calerà significativamente, quindi vorrei provare ora; però uso il vesafb-tng che è specificamente di gentoo...
O, ancora meglio: l'utilizzo della patch per hrtimer migliora significativamente il consumo rispetto ad un kernel 2.6.21 con la patch di powertop applicata e il resto dei consigli seguiti? |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jun 11, 2007 8:16 am Post subject: |
|
|
La patch di powertop non l'ho inclusa nell'howto perche' provandola sulla mia macchina ho notato una riduzione drastica delle performances rendendo il sistema molto meno "reattivo".
Con la patch hrt6 mi trovo senza alcun degrado di performances quasi costantemente in C4: Code: | Cn Avg residency (15s) Long term residency avg
C0 (cpu running) ( 3.2%)
C1 0.0ms ( 0.0%) 0.0ms
C2 0.8ms ( 0.4%) 0.0ms
C3 0.5ms ( 0.1%) 0.0ms
C4 13.0ms (96.3%) 12.6ms
|
Inoltre abilita l'hpet timer su ICH4 che aiuta a ridurre notevolmente i wakeups.
Secondo me la differenza di risparmio e' evidente Ad ogni modo la patch esiste anche per 2.6.21, quindi puoi provare ad applicarla ai gentoo-sources!
Ciao! _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Mon Jun 11, 2007 5:52 pm Post subject: |
|
|
Code: | tomnote linux-2.6.21-gentoo-r2 # patch -p1 <../patches_2.6.21/patch-2.6.21.3-hrt1.patch
patching file kernel/timer.c
patching file kernel/time/tick-broadcast.c
patching file kernel/time/clocksource.c
patching file arch/i386/kernel/hpet.c
patching file arch/x86_64/kernel/time.c
patching file drivers/input/misc/pcspkr.c
patching file include/asm-x86_64/i8253.h
patching file include/linux/timer.h
patching file kernel/time/tick-sched.c
patching file arch/i386/kernel/apic.c
patching file arch/i386/kernel/i8253.c
patching file include/linux/clockchips.h
patching file kernel/time/tick-common.c
patching file kernel/time/clockevents.c
patching file arch/i386/Kconfig
patching file arch/i386/kernel/time.c
patching file include/asm-i386/timer.h
patching file include/linux/time.h
patching file kernel/time/ntp.c
patching file kernel/hrtimer.c
patching file kernel/time/tick-oneshot.c
patching file drivers/char/rtc.c
patching file include/asm-x86_64/apic.h
patching file include/asm-x86_64/hpet.h
patching file include/asm-x86_64/timex.h
patching file arch/x86_64/Kconfig
patching file include/asm-i386/i8253.h
patching file arch/x86_64/kernel/tsc.c
patching file arch/x86_64/kernel/Makefile
patching file arch/x86_64/kernel/apic.c
patching file arch/x86_64/kernel/hpet.c
patching file arch/x86_64/kernel/i8259.c
patching file arch/x86_64/kernel/mce_amd.c
patching file arch/x86_64/kernel/smpboot.c
patching file drivers/acpi/processor_idle.c
patching file include/asm-i386/hpet.h
patching file include/asm-i386/tsc.h
patching file include/asm-x86_64/proto.h
patching file arch/x86_64/kernel/process.c
patching file arch/i386/kernel/quirks.c
patching file include/linux/pci_ids.h
patching file Makefile
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej | L'errore è dovuto al tentativo di cambiare il nome da ".3" a ".3-hrt1", quindi niente di grave. Ora compilo e ti farò sapere. |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Mon Jun 11, 2007 7:05 pm Post subject: |
|
|
Tanto di cappello... |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Mon Jun 11, 2007 9:01 pm Post subject: |
|
|
Nulla di particolare da segnalare, sul 2.6.21.
Ho applicato la patch al kernel -gentoo-r3 e funziona, come ho scritto prima; non ho applicato le altre patch (che ho poi scoperto essere già incluse nella patch cumulativa).
Il risultato è perfettamente paragonabile a quello che avevo prima.
Con la patch di powertop non avevo notato rallentamenti, così come ora non noto "riaccelerazioni".
Provo ad applicare qualche patch di gentoo al kernel 2.6.22-r4, vediamo come va. |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jun 11, 2007 9:34 pm Post subject: |
|
|
riverdragon wrote: | Ho applicato la patch al kernel -gentoo-r3 e funziona, come ho scritto prima; non ho applicato le altre patch (che ho poi scoperto essere già incluse nella patch cumulativa). |
Quali altre patch intendi?
riverdragon wrote: | Il risultato è perfettamente paragonabile a quello che avevo prima. |
Puoi postare qualche risultato con powertip? Detto cosi' e' molto vago La differenza per me e' abissale, non so come con il menu governor tu non possa notare cambiamenti _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Mon Jun 11, 2007 10:07 pm Post subject: |
|
|
Le altre patch sarebbero quelle presenti qui sotto forma di archivio e qui. Il governor menu non ce l'ho perché il kernel è il 2.6.21; adesso sto compilando il 2.6.22-r4 con le patch per il vesafb-tng (che si applica senza problemi), per hrt (è uscita la versione nuova, la 7) e per ipw3945 (ho dovuto modificare la patch, ma ho scoperto che non funziona).
EDIT: questo è un responso di powertop Code: | Cn Permanenza media (15s) Media sul lungo periodo
C0 (cpu occupata) ( 3,8%)
C1 0,0ms ( 0,0%) 0,0ms
C2 0,2ms ( 0,8%) 0,0ms
C3 0,6ms ( 3,5%) 0,5ms
C4 3,1ms (91,8%) 2,9ms | Prima ero generalmente sull'87-88% nello stato C4, il miglioramento c'è ma non è così esagerato. La stima di durata della batteria è infatti stabile rispetto a prima.
Last edited by riverdragon on Mon Jun 11, 2007 10:38 pm; edited 1 time in total |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jun 11, 2007 10:33 pm Post subject: |
|
|
riverdragon wrote: | Il governor menu non ce l'ho perché il kernel è il 2.6.21 |
Ah vero, hai usato hrt1! Si', in effetti con quella patch non cambia moltissimo
Quote: | per hrt (è uscita la versione nuova, la 7) |
_________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Mon Jun 11, 2007 10:45 pm Post subject: |
|
|
Ho modificato il messaggio di prima.
Noto che ora ho finalmente attivo questo benedetto hpet (lo vedi con cat /sys/devices/system/clocksource/clocksource0/available_clocksource, da root) che prima nel 2.6.21 non avevo; perlomeno fino a prima di stasera, non mi sono premurato di controllare prima di passare al .22.
Vedo inoltre che tu hai lo stato C4 attivo per mooolto più tempo di me, immagino tu abbia pochissimi "risvegli" della cpu. Da me non scendono mai sotto i 300, e perlopiù sono sopra ai 500. La prima voce tra i colpevoli spesso è quella del gruppo "nvidia, HDA Intel, usb:ohci" (perché poi in una riga sola? così non si capisce il vero colpevole!).
Per la patch di firefox, io modificherei il nome dell'ebuild aggiungendo un -r0 in fondo; in questo modo se capita che viene rilasciato un ebuild ufficiale -r1 non vanno in conflitto, e così eviti anche eventuali conflitti di versione tra l'overlay locale e portage. |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jun 11, 2007 11:04 pm Post subject: |
|
|
Prova a rieseguire powertop non da X e vedi se si abbassa notevolmente o no.
Io sono stabile sui 30, ma impegnandomi scendo fino a 5 wakeups/s _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Mon Jun 11, 2007 11:05 pm Post subject: |
|
|
riverdragon wrote: | Per la patch di firefox, io modificherei il nome dell'ebuild aggiungendo un -r0 in fondo; in questo modo se capita che viene rilasciato un ebuild ufficiale -r1 non vanno in conflitto, e così eviti anche eventuali conflitti di versione tra l'overlay locale e portage. |
Non mi pare ci sia alcun conflitto... se viene rilasciata una -r1 portage vorra' fare l'upgrade e amen. Qual e' il problema? _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Tue Jun 12, 2007 6:46 am Post subject: |
|
|
Eseguire powertop fuori da X... non ha molto senso, non è una situazione di utilizzo reale
Il discorso dell'appendice -r0 è per cercare di risolvere eventuali problemi tra le versioni 2.0.0.4 ufficiale e 2.0.0.4 creata da te: il sistema giustamente non mi presenta alcun aggiornamento se non aggiungo l'appendice. |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Tue Jun 12, 2007 6:55 am Post subject: |
|
|
Ehy, lavish, magari hai un'idea: io un Core Duo (non 2) che "fischia" (non ridere, letteralmente fa questo davvero) quando va in C3, da cui come soluzione inibire C3 e farlo variare fra C1 e C2 solamente. Questo ovviamente aumenta i miei consumi, ma mi permette di non impazzire. Sai di soluzioni alternative?
Grazie
ps: ovvio, ci ho provato, se sai niente no problem........ Resti un grande comunque!! |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Tue Jun 12, 2007 9:40 am Post subject: |
|
|
riverdragon wrote: | Eseguire powertop fuori da X... non ha molto senso, non è una situazione di utilizzo reale |
E' solo per capire se si tratta del driver nvidia o no.
riverdragon wrote: | Il discorso dell'appendice -r0 è per cercare di risolvere eventuali problemi tra le versioni 2.0.0.4 ufficiale e 2.0.0.4 creata da te: il sistema giustamente non mi presenta alcun aggiornamento se non aggiungo l'appendice. |
Secondo me non cambia assolutamente nulla. Se esce una -r1 di firefox poi l'ebuild come lo chiami? -r2? E se esce una -r2? Non te ne accorgi nemmeno.
skypjack wrote: | io un Core Duo (non 2) che "fischia" (non ridere, letteralmente fa questo davvero) quando va in C3, da cui come soluzione inibire C3 e farlo variare fra C1 e C2 solamente. Questo ovviamente aumenta i miei consumi, ma mi permette di non impazzire. Sai di soluzioni alternative? |
Che portatile hai? Soluzioni alternative per non scendere mai in C3 non me ne vengono nell'immediato.. potresti provare a cercare nella doc per il supporto a cpuidle e vedere se trovi qualcosa... ad ogni modo io se fossi in te mi farei sentire con la garanzia
Ciao! _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Tue Jun 12, 2007 2:09 pm Post subject: |
|
|
Seeee... Magari!!
Ho un Dell inspiron, sembra che la cosa sia comune e frequente con i Centrino Duo (su tutti i pc, dipende dal processore) e non dannosa, l'unico problema è che è leggermente fastidiosa. La garanzia? Non mi danno retta, fanno scarica barile e concordano sul fatto che non è dannosa e il rumore è sopportabile...
Maledetti!! |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Tue Jun 12, 2007 4:46 pm Post subject: |
|
|
Il bello è che lo stesso effetto l'ho riscontrato da parte di conoscenti su Centrino Duo 2, anche se molto smorzato rispetto al mio caso. |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Tue Jun 12, 2007 10:27 pm Post subject: |
|
|
Io ho un core duo, e questo problema non lo noto...
lavish, il tuo ebuild mi ha fatto sparire l'icona di firefox dai menu. |
|
Back to top |
|
|
lavish Bodhisattva
Joined: 13 Sep 2004 Posts: 4296
|
Posted: Tue Jun 12, 2007 10:33 pm Post subject: |
|
|
riverdragon wrote: | Io ho un core duo, e questo problema non lo noto...
lavish, il tuo ebuild mi ha fatto sparire l'icona di firefox dai menu. |
Il mio ebuild non puo' averti fatto sparire nulla visto che e' identico a quello in portage con l'aggiunta di una piccolissima patch.
Guardati l'ebuild e capirai che e' impossibile _________________ minimalblue.com | secgroup.github.io/ |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Wed Jun 13, 2007 9:07 am Post subject: |
|
|
Stasera provo a ricompilare, ma mi e` proprio sparita la voce nel menu... |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Wed Jun 13, 2007 2:03 pm Post subject: |
|
|
riverdragon wrote: | Io ho un core duo, e questo problema non lo noto... |
Infatti, nei miei mesi di ricerca e studio per capire cosa diavolo fosse ho scoperto che non tutti i Core Duo (più o meno 2) lo fanno, ma è una cosa random, anche se per ora ne ho già riscontrati tre fra le persone che conosco.
Ti auguro di non avere di questi problemi, ovviamente... |
|
Back to top |
|
|
riverdragon Veteran
Joined: 14 Sep 2006 Posts: 1269 Location: Verona
|
Posted: Wed Jun 13, 2007 6:38 pm Post subject: |
|
|
Grazie, nel frattempo mi tocco
lavish, la voce nel menu è proprio scomparsa; ho ricompilato firefox "ufficiale" ed ora è tornata. Non riesco a capire come mai. |
|
Back to top |
|
|
|