Nella giornata di lunedì, Rafael Wysocki (Ingegnere del reparto open source di Intel e maintainer del core ACPI del kernel Linux) ha pubblicato gli update per la gestione energetica e ACPI di Linux 4.6.

Questi aggiornamenti sono piuttosto corposi e contengono alcuni grossi cambiamenti, in particolar modo per il codice di scaling di CPUFreq/P-state, ovvero la combinazione di voltaggio operativo e frequenza del processore. Wysocki ha brevemente spiegato le novità introdotte:

“Prima di tutto è cambiato il modo con cui vengono innescati gli aggiornamenti di frequenza del processore. Invece di dover impostare e gestire un timer differibile per ogni CPU nel sistema per valutare ed eventualmente cambiare la loro frequenza periodicamente, i cpufreq governor impostano delle callback per essere chiamati dallo scheduler su una base regolare (in sostanza sulle variazioni di utilizzo). I “vecchi” governor, “ondemand” e “conservative”, fanno ancora il loro lavoro nel contesto del processo (anche se quello è gestito dallo scheduler adesso), ma intel_pstate fa tutto nella callback chiamata dallo scheduler senza bisogno di alcun processo asincrono.

Ovviamente, questo elimina l’overhead relativo alla gestione di quei timer, inoltre permette al codice del cpufreq governor di essere semplificato un bel po’. In particolare il codice e le strutture dati in comune con “ondemand” e “conservative” sono state snellite e rese più dirette e alcuni problemi di vecchia data  piuttosto noiosi sono stati risolti. Nello specifico la gestione degli attributi del governor sysfs è stata modificata e i relativi blocchi sono stati meglio dettagliati, il che permette di evitare alcuni problemi di concorrenza (in particolare i deadlock con il core del codice di cpufreq).

In pratica i nuovi meccanismi per innescare gli aggiornamenti di frequenza permettono l’utilizzo di informazioni che vengono passate dallo scheduler a cpufreq. Anche se il codice corrente non le utilizza, durante il lavoro sarà il nuovo cpufreq governor a prendere le decisioni sulla base dei dati utilizzati dallo scheduler. Ciò dovrebbe permettere allo scheduler e a cpufreq di lavorare più strettamente a contatto sul lungo termine.”

Oltre a questa rielaborazione di P-state e CPUFreq per usare le callback chiamate dallo scheduler invece dei timer differibili, ci sono anche diversi bugfix ed ottimizzazioni per il P-State ed uno snellimento del core di CPUFreq, seguito da un aggiornamento per ACPICA, diversi fix ai driver Intel RAPL e all’utility TurboStat.

[Fonte]

  • heisenberg

    Ma è una cosa solo di linux o su windows questo genere di lavoro è gia stato fatto da tempo ?

    • Luky

      Essendo uno scheduler del SO penso che Intel rilasci la documentazione e microsoft si basa su quella, per farla breve, a meno che non comunicato da loro non possiamo saperlo

      • heisenberg

        ciao. Capisco. grazie x la risposta

  • alex

    Chissà che poi finalmente anche sotto Linux si raggiungerà almeno la stessa autonomia che si ha utilizzando Windows.

    • Luky

      Eh? Sul mio acer ho 6 ore con linux e meno di 4 con windows. Secondo me o hai un notebook bumblebee senza il supporto installato o driver brutti installati.

      • heisenberg

        ciao non è il primo che riscontra questo genere di problema però….

        • RiccardoMu’

          Non tutti gli hardware sono uguali, alcuni funzionano a meraviglia out-of-the-box altri hanno bisogno di essere perfezionati, altri ancora non potranno mai dare il massimo con Gnu/Linux per colpa della mancanza di supporto da parte dei produttori.
          Generalmente gli hardware su base Intel sono quelli con maggior compatibilità’.
          Il mio Lenovo X220 funziona out-of-the-box con qualsiasi distro e con tlp e p-state abilitato faccio 7 ore comode con la batteria a 6 celle. Su Win 10 con i software proprietari Lenovo non arrivo a 5.

          • heisenberg

            Interessante. Ma come si fa a sapere questa piena compatibilità prima dell’acquisto ?

          • gabriele tesio

            Ubuntu alcuni pc (desktop e laptop) li certifica con la piena compatibilità, li trovi tutti cercano ubuntu certified hardware su google ed è il primo risultato, per altri pc ti posso solo dire di fare una ricerca su google e vedere se quel modello riscontra problemi ecc, oppure se hai più tempo e voglia, ti trovi quali sono i pezzi interni, (tipo la scheda di rete, la scheda madre ecc) e vedi se gente riscontra problemi ecc…

          • heisenberg

            Capisco ! Grazie !

No more articles