# [HW] Programma per la gestione dello Speedstep

## Fuzzo

Salve!  :Smile: 

Cercavo, nella mia piu' totale ignoranza, un programmino tipo SpeedswitchXP per Windows per la gestione degli step della CPU P4 del mio Dell 5150.

Ho anche notato che ci sono nel kernel opzioni chiamate userspace ecc. ecc. ma non capisco a che servono!  :Sad: 

----------

## koma

```
*  sys-apps/cpuspeedy

      Latest version available: 0.4.0

      Latest version installed: 0.4.0

      Size of downloaded files: 16 kB

      Homepage:    http://cpuspeedy.sourceforge.net/

      Description: A simple and easy to use program to control the speed and the voltage of CPUs on the fly.

      License:     GPL-2

*  sys-apps/gtk-cpuspeedy

      Latest version available: 0.3.0

      Latest version installed: [ Not Installed ]

      Size of downloaded files: 100 kB

      Homepage:    http://cpuspeedy.sourceforge.net/

      Description: Graphical GTK+-2 frontend for cpuspeedy

      License:     GPL-2

```

----------

## fedeliallalinea

Io uso

```
*  sys-apps/speedfreq

      Latest version available: 0.7.2-r1

      Latest version installed: [ Not Installed ]

      Size of downloaded files: [no/bad digest]

      Homepage:    http://www.goop.org/~jeremy/speedfreq/

      Description: daemon to control the CPU speed in 2.6 kernels
```

----------

## mfkr79

 *Fuzzo wrote:*   

> ... Ho anche notato che ci sono nel kernel opzioni chiamate userspace ecc. ecc. ma non capisco a che servono! 

 

Prova queste impostazioni :

```
CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y

CONFIG_CPU_FREQ_GOV_PERFORMANCE=y

CONFIG_CPU_FREQ_GOV_POWERSAVE=y

CONFIG_CPU_FREQ_GOV_USERSPACE=y

CONFIG_CPU_FREQ_TABLE=y
```

Se il tuo processore è il mobile Pentium4, nella sezione "Cpufreq", devi abilitare ANCHE il supporto allo speedstep...

Se il tuo Dell ha un Pentium4 NON mobile, non supporta lo speedstep, ma una modulazione della frequenza di clock...allora nel kernel non serve abilitare, nella sezione "Cpufreq", il supporto allo speedstep, invece dovresti abilitare "P4/Xeon clockmod"

```
CONFIG_X86_ACPI_CPUFREQ=y

CONFIG_X86_P4_CLOCKMOD=m # corretto come consigliato...
```

Per gestire il frequency throttling dovrebbe andar bene una qualunque utility come quelle già consigliate, io uso cpudyn...

Prova un po'

----------

## abaddon83

mi unisco al topic...

io uso speedfreq ma mi setta come frequenza di minimo 350mhz... un po bassina... io la modifico a 1Ghz circa (al max ho un P4 2.8Ghz) ma ad ogni riavvio dovrei ritararla  :Sad: 

dovrei per caso modificare lo script init.d si speedfreq inserendoci la riga di comando per innalzare il limite di freq o c'è un qualche file di conf da qualche parte che rende perenne la modifica?

----------

## federico

Io consiglio speedfreq, consiglio di unirlo alla gestione degli eventi ACPI come spiegato qui :

https://forums.gentoo.org/viewtopic.php?t=80077&highlight=speedfreq

per ottenere un risultato migliore.

Un'altro interessante topic che ho seguito e' questo :

https://forums.gentoo.org/viewtopic.php?t=129853

Buon lavoro!

Fede

----------

## fedeliallalinea

[MOD]

Cambia il tag [N00B] con uno di questi

[/MOD]

----------

## FonderiaDigitale

attenzione xche ho visto molta gente piangere xche aveva compilato p4_clockmod come monolitico invece che come modulo!

----------

## Fuzzo

Grazie innanzitutto per la prontezza e la chiarezza dei vostri reply   :Smile: 

Premetto che il mio processore nel portatile è un Mobile Pentium 4 3.06 GHz NON-HT e che supporta lo Speedstep (due soli step in realtà: 1.6 e 3.06 GHz), una cosa non ho ben capito:

- Nel kernel ho settato built-in lo Speedstep NON advanced (mica ho un Centrino)

- Ho settato nello stesso modo il clock modulation

Posso togliere senza problemi l'ultima opzione?  :Very Happy: 

Grazie!

----------

## mfkr79

 *Fuzzo wrote:*   

> ... Ho settato nello stesso modo il clock modulation
> 
> Posso togliere senza problemi l'ultima opzione? 
> 
> Grazie!

 

Direi di si, se hai il mobile è superfluo

----------

## X-Drum

già io invece ho un'altro tipo di P4 un 3600mhz con HT che *NON* supporta lo SpeedStep infati devo accontentarmi del clock modulation che stando a quello che ho letto in giro non è neache paragonabile allo speedstep ma è sempre qualcosa.....

----------

## Benve

Alcuni demoni permettono di cambiare a runtime il clock in base al carico di lavoro della macchina. Il problema è che funzionano tutti allo stesso modo (cioè male).

Esiste un "time slice", ad esempio 1s, che da la frequenza dei controlli di carico, e quindi di modifica del clock. Questo time slice è critico, se troppo alto ci ritroviamo un sistema poco reattivo, se troppo basso perdiamo un sacco di tempo a controllare il carico.

Sarebbe bello che il "time slice", così come in alcuni scheduler dei processi, cambiasse dinamicamente.

Es. sto navigando su internet, carico una pagina, poi la leggo e ne carico un'altra. Quì il carico di lavoro cambia spesso, passa da 0 a 100% ogni volta che carico una pagina. Serve un timeslice basso. Se mi suona il telefono e mi assento per 10 minuti, il carico rimarrà costante per 10m ed è inutile controllarlo una volta al secondo. Serve un timeslice alto.

Si può fare un demone intelligente, o forse esiste già.

Se non esiste mi piacerebbe farlo. Chi mi da una mano?

----------

## mfkr79

 *Quote:*   

> Se non esiste mi piacerebbe farlo. Chi mi da una mano?

 

L'idea è OTTIMA, io purtroppo non credo di essere in grado di aiutarti con la programmazione, ma mi candido per fare il beta tester  :Cool: 

----------

## MonsterMord

 *Benve wrote:*   

> 
> 
> Si può fare un demone intelligente, o forse esiste già.
> 
> Se non esiste mi piacerebbe farlo. Chi mi da una mano?

 

Io uso powernow, forse è da smascherare con ~x86 ma è già nel portage.

E' stupidissimo e a dispetto del nome funziona su anche sugli intel.

Fa dei polling sul carico di lavoro e aggiorna la frequenza con una piccola isteresi.

Ad occhio non mi fiderei di un demone che mi variasse la frequenza del processore troppe volte, ho paura che alla lunga sarebbe uno stress troppo grande per gli integrati.

----------

## Benve

Penso che all'inizio basti prendere un demone già fatto e cambiarlo un po.

Purtroppo sono tutti in C e io non ci vado molto d'accordo.

----------

## randomaze

 *Benve wrote:*   

> Purtroppo sono tutti in C

 

Personalmente trovo che sia la scelta migliore per un demone!

----------

## X-Drum

 *randomaze wrote:*   

>  *Benve wrote:*   Purtroppo sono tutti in C 
> 
> Personalmente trovo che sia la scelta migliore per un demone!

 

concordo pienamente, C rulez!

----------

## Benve

 *randomaze wrote:*   

> 
> 
> Personalmente trovo che sia la scelta migliore per un demone!

 

Si è vero, il problema sono io, non il C.

Comunque per testare l'algoritmo all'inizio va bene anche un prototipo in bash o perl

----------

## Cagnulein

ragazzi qualcuno sa come vedere tutti gli step di un centrino?

----------

## Benve

 *Cagnulein wrote:*   

> ragazzi qualcuno sa come vedere tutti gli step di un centrino?

 

Forse intendi queste /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

----------

## Cagnulein

esattamente  :Smile: 

ti ringrazio  :Smile: 

----------

## paolo

Io avevo P4M e usavo speedfreq, ora con Centrino uso cpudyn, ma credo siano equivalenti. Per chiarirsi le idee cmq basta leggere la documentazione dentro a /usr/src/linux/Documentation ...

P.

P.S.: FANTASTICA l'idea di cambiare questo "timeslice"... Partiamo prima dalla teoria su come dovrebbe funzionare e su quali dati dovrebbe basarsi per funzionare bene (io non ne ho idea o quasi). Intanto guardiamo quale di questi programmi ha il codice più bello e più facilmente modificabile.

----------

## Benve

 *paolo wrote:*   

> 
> 
> P.S.: FANTASTICA l'idea di cambiare questo "timeslice"... Partiamo prima dalla teoria su come dovrebbe funzionare e su quali dati dovrebbe basarsi per funzionare bene (io non ne ho idea o quasi). Intanto guardiamo quale di questi programmi ha il codice più bello e più facilmente modificabile.

 

non dovrebbe essere difficile

a ottobre rincominciano le lezioni e avrò più tempo

parlarne in teoria va bene, ma credo che l'algoritmo verrà poi.

All'inizio ci vuole qualcosa che ci permetta di implementare l'algoritmo

----------

## Benve

Alla fine per questo demone ho cambiato totalmente idea. E` diventato un progetto per mio esame di so e fino a quando rimarra` tale non posso far partecipare altri... mi spiace.

----------

