Con l’aggiornamento delle principali distro Linux all’ultimo ramo del kernel 2.6.38* c’è stato un sostanziale regresso nelle prestazioni energetiche, riscontrato sopratutto nei dispositivi portatili quali netbook, laptop e altri sistemi embedded, ma incide anche sul consumo energetico di pc e server.

Questo bug causa un maggior consumo della batteria/corrente che si aggira dal 15% al 40% nei casi più estremi, un problema abbastanza noioso che ha fatto sorgere molte critiche.

Il bug non sembra essere risolto al momento, ma è spuntato su Phoronix un workaround molto semplice per fixarlo momentaneamente.

Controllate se il vostro sistema supporta aspm

dmesg|grep -i aspm

Il risultato dovrebbe essere simile a questo

[ 0.216012] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with ’pcie_aspm=force’

Per chi ha gnome

gksu gedit /etc/default/grub

Per chi ha kde

kdesuso kate /etc/default/grub

Cercate

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

Adesso basta aggiungere “pcie_aspm=force” alla fine, quindi modificate così

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pcie_aspm=force”

Assicuratevi di non aver toccato nient’altro e di aver scritto tutto bene altrimenti l’ OS potrebbe non partire.

Salvate e aggiornarte GRUB2

sudo update-grub

E quindi riavviate il sistema.

Il consumo della batteria, come si vede dal grafico, diminuisce sostanzialmente tornando praticamente alle prestazioni dei vecchi kernel.

Per maggiori info vi rimando sul sito di Phoronix

Loggati 24
  1. Avatar di Dozerph

    Dozerph 4:31 am on giugno 29, 2011 | 349003

    grazie ! :)

  2. Avatar di William J.

    William J. 5:00 am on giugno 29, 2011 | 349004

    Bravo, buona segnalazione.

  3. Avatar di steveacab | 0x83

    steveacab | 0x83 5:29 am on giugno 29, 2011 | 349013

    questo è segnalato come bug perchè fin’ora così era considerato e comunque ancora sarà così, ma in realtà è colpa di chi ha fatto i firmware dei bios, perchè il problema è nato da quando hanno introdotto aspm (dicendo che non avrebbero toccato nient’altro, patch proposta a giugno se non sbaglio) ma in pratica hanno dato dei dati sbagliati e quindi il kernel comunica male.

    non l’ho messo nel post perchè ancora è in via ufficiosa, ma si vocifera che dietro al firmware sbagliato ci sia qualcuno di M$ che ha fatto un lavoro da cane.

    a questo punto, chi è stato è stato M$ o non M$, io proporrei un commit per escluderlo dal kernel in attesa che aggiornino i bios con un firmware decente o che rilascino i sorgenti o i dati reali, riproposta la patch, passare poi per via testing ed infine riaccettata una volta che funzioni alla perfezione.

    molte batterie in questi 2/3 mesi si sono fritte e nessuno le ripaga.

    • avatar

      Delcaran 10:47 am on giugno 29, 2011 | 349074

      Anche secondo me il problema è derivato più che altro da microsoft… Da quando ho provato la beta di Windows 7 la mia batteria praticamente non esiste: ho solo il tempo di far partire un sistema operativo (Windows 7 o Archlinux), poi è la morte. Ovviamente segnalazioni di errori nella batteria a bestia sia su winzozz che su Arch.

    • Avatar di sonichead

      sonichead 11:00 am on giugno 29, 2011 | 349088

      Hanno introdotto questa modifica perché il 90% dei server andavano in crash.. Siccome la maggior fetta di mercato linux sono i server hanno puntato su quelli che sui notebook etc.. Oltretutto è un problema di bios più che di kernel, quindi finché non fanno dei bios senza bug il problema non si può risolvere

      • Avatar di steveacab | 0x83

        steveacab | 0x83 3:09 pm on giugno 29, 2011 | 349315

        si e no

        è vero, il problema è dei bios, ma perchè hanno fatto dei firmware schifosi e rilasciato dati errati.
        la patch aspm all’inizio era stata criticata dai manteiner del kernel proprio perchè avevano dei dubbi poi rivelatosi veri.

        purtroppo oramai circolano questi bios quindi si cerca di modificare il kernel per adattarsi.

  4. Avatar di Cassiel

    Cassiel 8:42 am on giugno 29, 2011 | 349032

    C’è anche la possibilità(in GNOME) di usare gli applet dei pannelli riguardanti le cpu, si possono impostare le frequenze massime dei single core, coreduo e andando avanti a salire.
    Ipoteticamente dovrebbe ridurre drasticamente la consumazione della batteria dato che la richiesta alla CPU è più bassa di conseguenza scalda meno, usavo questo metodo col mio vecchio portatile un leggero aumento della durata c’era, non tantissimo ma quanto basta per non rimanere a terra.

    • Avatar di sonichead

      sonichead 10:57 am on giugno 29, 2011 | 349086

      questo bug è diverso, in pratica certi bios non implementano bene l’aspm e quindi il kernel crede che non ci sia.. Non usando l’aspm non si attivano tutte le policy di risparmo di ogni periferica (gpu, wifi etc), quindi il solo diminuire il clock delle cpu non basta

      • Avatar di Cassiel

        Cassiel 8:08 am on luglio 6, 2011 | 352520

        ora ho capito, funziona con tutte le architetture? e mi converrebbe pacciare il mio kernel?

        • Avatar di steveacab | 0x83

          steveacab | 0x83 1:10 pm on luglio 6, 2011 | 352687

          si e no, con cosa patchi il kernel se non è stato ancora sistemato?
          questo è solo un modo per aggirare il problema.

  5. Avatar di sonichead

    sonichead 9:46 am on giugno 29, 2011 | 349048

    Bel post @steveacab però devo correggerti un po’.
    Prima di inserire la il comando in grub sarebbe il caso di dare

    $ dmesg|grep -i aspm

    e se si ottiene come risposta
    [ 0.216012] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with ’pcie_aspm=force’

    allora a quel punto si usa il workaround; poi è “kdesudo” e non kdesu :)

    • avatar

      Delcaran 10:49 am on giugno 29, 2011 | 349076

      +1
      Potrebbe comunque essere “kdesu”, dipende da come è configurato il sudo, ammesso che sia installato :)

      • Avatar di sonichead

        sonichead 10:54 am on giugno 29, 2011 | 349083

        Kdesu non si usa almeno da 5 anni, è un comando sconsigliato, anche per via di bug stupidi e mai corretti..
        Usare kdesudo è molto meglio e più sicuro

        • avatar

          Delcaran 10:59 am on giugno 29, 2011 | 349087

          Ah sì? Non ne avevo idea! Vabbè, mi cambia poco visto che uso solo IceWM e sudo :)

        • Avatar di steveacab | 0x83

          steveacab | 0x83 3:16 pm on giugno 29, 2011 | 349324

          per quanto riguarda kdesu io ricordavo questo in kde ed avendolo installato nuovamente da poco tempo ho dato quel comando ed ha funzionato lo stesso.

          per quanto riguarda il comando invece aggiungendo aspm al grub se non è supportato comunque non succede niente.

          grazie comunque, modifico sia queste cose che l’errore del sostantivo :D

          • Avatar di sonichead

            sonichead 4:48 pm on giugno 29, 2011 | 349387

            per esempio se io do
            $ dmesg|grep -i aspm

            non mi appare nulla, evidentemente il mio pc non ha aspm e non ha senso modificare grub :)

  6. Avatar di piccia

    piccia 10:14 am on giugno 29, 2011 | 349055

    immagino fosse “sostanziale”. Ma devo dire che l’ho riletto due volte prima di accorgermene :D . Meraviglie del cervello umano.

  7. Avatar di ragnoboy

    ragnoboy 11:38 am on giugno 29, 2011 | 349112

    “regresso”, appunto, e’ un sostantivo! ;)

    ROTFL!

  8. Avatar di Defkon1

    Defkon1 11:42 am on giugno 29, 2011 | 349113

    thanks! sharo come non ci fosse un domani!

  9. Avatar di OrsoVolante | F.I.R.N. 42

    OrsoVolante | F.I.R.N. 42 12:41 pm on giugno 29, 2011 | 349163

    Ottimo articolo, utilissimo!

  10. Avatar di elektronikotine

    elektronikotine 6:13 pm on giugno 30, 2011 | 350049

    E’ un problema riguardante anche Maemo?

    • Avatar di steveacab | 0x83

      steveacab | 0x83 6:33 pm on giugno 30, 2011 | 350057

      sinceramente non so, ma se ha lo stesso kernel allora si.

      prova con il comando

      dmesg|grep -i aspm

      se hai come risultato una cosa tipo questo

      [ 0.216012] pci 0000:01:00.0: disabling ASPM on pre-1.1 PCIe device. You can enable it with ’pcie_aspm=force’

      allora puoi usare il workaround.

  11. Linux 3.1 consuma troppo | CorryL's Blog 11:59 am on agosto 23, 2011 | 370188

    [...] la patch delle meraviglie creata dallo sviluppatore Mike Galbraithnella 2.6.38, era sufficiente disabilitare ASPM per tornare ai consumi di potenza precedenti, ora sembra che il bug sia più insidioso e [...]

  12. Linux 3.1 consuma troppo | Indipedia – Indipendenti nella rete 8:48 am on agosto 24, 2011 | 370457

    [...] la patch delle meraviglie creata dallo sviluppatore Mike Galbraithnella 2.6.38, era sufficiente disabilitare ASPM per tornare ai consumi di potenza precedenti, ora sembra che il bug sia più insidioso e [...]

Rispondi

Devi essere loggato per lasciare un commento.