Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

Governor ---> Quali sono e loro Utilizzo

Discussione in 'Guide generiche' iniziata da lucky76, 28 Gen 2012.

  1. lucky76

    lucky76 Bronze Droid

    Iscritto:
    8 Set 2010
    Messaggi:
    780
    "Mi Piace":
    236
    I Governors ci permettono di modificare la resa del processore in base alle proprie esigenze andando a modificare la frequenza minima e quella massima di lavoro della CPU.

    Il Governor è un driver presente nel kernel che ci permette di regolare la frequenza minima e massima della CPU e il tempo necessario ad essa per raggiungere il massimo o il minimo valore di frequenza di clock.

    Ho cercato di riunire in questo post il maggior numero di governor con le loro descrizioni che ho trovato in giro per la rete. A fine post ho aggiunto anche gli I/O Scheduler.

    Alcuni di questi Governor non li troverete nella mie ultima custom rom ma ho intenzione di aggiungerli nei miei prossimi kernel.


    Ci sono vari tipi di Governor e i più usati nei vari kernel ricompilati sono:

    Codice:
    Ondemand
    Powersave
    Userspace
    Conservative
    Performance
    Interactive
    InteractiveX
    Smartass
    SmartassV2
    Smoothass
    BrazilianWax
    SavagedZen
    Minmax
    Scary
    Lulzactive
    Lazy
    Lagfree
    Ondemandx
    Intellidemand
    Lionheart
    lightassV2


    Brevi Descrizioni dei vari Governor trovati con Google:

    Ondemand:
    Ondemand è la scelta predefinita, impostazioni equilibrate che offrono un buon compromesso: durata della batteria e prestazioni. Tuttavia non ha profili di sospensione e a volte (raramente) vi è un calo di prestazioni negli smartphone. Il governor più equilibrato, offre un buon compromesso tra la batteria e le prestazioni. Quando la CPU è sollecitata, aumenta rapidamente le frequenze per poi ridurle lentamente quando non è più necessario.

    Powersave:
    Con Powersave viene impostata sia la frequenza massima che quella minima al minimo valore possibile. Ovviamente non è consigliato per l’uso quotidiano in quanto la minima frequenza viene settata a pochi MHZ (128-256 MHz) e dunque non riusciremmo praticamente a fare nulla. Quindi imposta la frequenza massima rendendola uguale a quella minima.

    Userspace:
    Userspace consente di impostare manualmente le frequenze. E’ quello con cui si può personalizzare a proprio piacimento la frequenza minima e massima di lavoro.

    Conservative:
    Conservative è come Ondemand, ovvero setta una frequenza minima ed una massima oltre che ad un tempo in cui raggiungere tali limiti. L’unica differenza è che Conservative raggiunge il limite in un tempo doppio rispetto ad Ondemand essendo di tipo a rampa meno pendente. Il vantaggio però si ripercuote nella durata della batteria. Infatti più pendente è la rampa (ovvero più veloce, tendente verso l’alto) più si avrà un consumo di batteria.

    Performance:
    Come Powersave solo che imposta la massima frequenza di clock sia per frequenza minima che per quella massima di lavoro della CPU. Ovviamente non è indicato per l’utilizzo quotidiano in quanto la batteria non riuscirebbe a durare nemmeno per poche ore.

    Interactive:
    Come abbiamo detto, Conservative è come Ondemand solo che l’aumento della frequenza avviene più lentamente, dunque con una rampa più lenta rispetto ad esso. Con Interactive invece si ha un tempo di risposta più breve e dunque la frequenza sale con una rampa leggermente più pendente (alta) di Ondemand, rendendo il dispositivo più reattivo a scapito di un piccolo consumo di batteria in più. Interactive è un Ondemand leggermente più veloce: maggiori prestazioni ma al tempo stesso maggiore consumo di batteria.

    InteractiveX:
    Sostanzialmente è un Interactive modificato per dare più vita alla batteria. Le modifiche sono state apportate da imoseyon e provvedono ad una migliore gestione del dispositivo quando esso è in stand-by.

    Smartass:
    Anch’esso è basato su Interactive ma presenta dei miglioramenti sostanziali che lo fanno essere uno dei migliori in assoluto. Da poco compilata anche la versione Smartass V2 da Erasmux. ---> Vedere Sotto

    SmartassV2
    E’ uno smartass modificato ed è uno dei governor più usati. Questo governor scala verso il basso la cpu molto velocemente mentre lo schermo è spento, e scala rapidamente verso l’alto fino a 500 mhz quando lo schermo si accende. Non c'è un limite superiore per la frequenza mentre lo schermo è spento. Questo governor mira a una "frequenza ideale", per cui scala in maniera più aggressiva nei confronti di questa frequenza e in maniera meno aggressiva dopo. Esso utilizza diverse frequenze ideali per lo schermo acceso e per lo schermo spento, che sono awake_ideal_freq e sleep_ideal_freq, garantendo così un equilibrio tra prestazioni e durata batteria.

    Smoothass:
    E’ in pratica uno Smartass ma con una rampa più pendente (alta) dunque più prestazioni subito ma minore batteria.

    BrazilianWax:
    Fondamentalmente si discosta ben poco da Smoothass ed infatti non vi sono differenze di rilievo tra l’uno e l’altro Governor.

    SavagedZen:
    Esso è un kernel che si presenta basato sullo Smartass ma in questo caso non si va a penalizzare nulla, ovvero garantisce migliori prestazioni con un minor consumo di batteria. Quindi sia buone prestazioni che un consumo non eccessivo della batteria.

    Minmax:
    Questo kernel risulta essere uno dei migliori. Le prestazioni e la reattività sono molto elevate e rende l’utilizzo dei dispositivi molto piacevole. Esso è basato sul kernel Conservative.

    Scary:
    Basato sul Conservative che, come abbiamo detto prima, ha una rampa più lenta di Ondemand, ma poi ha in sè alcuni elementi di Smartass che gli fanno avere una rampa velocissima.

    Lulzactive:
    Basato sui governor interactive e smartass, tende ad essere il governor preferito da molti. Quando il carico di lavoro è maggiore o uguale al 60%, fa salire le frequenze della cpu immediatamente allo step successivo. Quando il carico di lavoro è inferiore al 60%, abbassa immediatamente le frequenze della cpu allo step precedente. Quando lo schermo è spento, la frequenza è bloccata alla frequenza minima.

    Lazy:
    Fondamentalmente un ondemand con il parametro aggiuntivo min_time_state che stabilisce un tempo minimo in cui la cpu permane su una determinata frequenza prima di passare a frequenze più basse o più alte. L’idea è quella di eliminare le instabilità causate dalla rapida commutazione di frequenza di ondemand. Ha anche un parametro screenoff_maxfreq che può essere configurato per specificare la max frequenza mentre lo schermo è spento.

    Lagfree:
    Simile a ondemand. La differenza è l'ottimizzazione che lo rende maggiormente battery friendly. La frequenza diminuisce o aumenta gradatamente, a differenza di ondemand che salta al 100% troppo spesso. Lagfree non salta le frequenze durante lo scaling verso l'alto o verso il basso.

    Ondemandx:
    Fondamentalmente un ondemand con un profilo screen off integrato che lo rende battery friendly. Quando lo schermo è spento, la frequenza massima è di 500 mhz.

    Intellidemand:
    (alias intelligente Ondemand) e un governor che si basa su ondemand e che non salta mai alla massima frequenza quando lo schermo è spento. L’intellidemand originale si comporta in modo diverso in base all'utilizzo della GPU. Quando la GPU è veramente occupato (giochi, mappe, benchmarking, ecc) intellidemand si comporta come ondemand per offrire buone prestazioni. Quando la GPU è a riposo o moderatamente occupata, intellidemand entra in “browsing mode†(modalità di navigazione) e limita la frequenza massima per risparmiare la batteria.

    Lionheart:
    E’ un Conservative pesantemente modificato: ha un’up-threshold bassa (circa 60) e una sampling_rate (frequenza di campionamento) più bassa possibile . Il motto di Lionheart è la reattività estrema, le prestazioni e la scorrevolezza, anche a costo di un maggiore dispendio della batteria.

    lightassV2:
    Governor ottimale per uno scaling della cpu aggressivo ma che non incide particolarmente sui consumi




    IO scheduler
    L'IO scheduler del kernel è la modalità di gestione degli input\output da parte del kernel.


    IO scheduler:

    noop ---> di solito assicura la massima fluidità del sistema
    sio ---> generalmente l'IO scheduler di default
    bfq ---> idem come sopra
    deadline ---> buona fluidità del sistema, in genere minore del noop
    vr ---> simile al noop, ottima fluidità del sistema
    CFQ --->
    Anticipatory --->


    Se incontrate altri tipi di Governor riportateli cosi li aggiungerò a questo primo post.

    Bye.