Newsgroup: it.comp.os.linux.iniziare
Titolo: cpufreq

ciao a tutti
se guardo nei dettegli durante l'avvio di fedora mi compare questa
scritta
fatal: error inserting acpi_cpufreq (/lib/modules/2.6.18-1.2798.fc6/
kernel/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.ko) : no such device
Infatti cpufrew non funziona!
Ho fedora core6
cosa posso fare ??
Grazie 1000


Significa che il modulo acpi-cpufreq non va bene per il tuo processore.
Ci sono 2 possibilitą: o il tuo processore non supporta lo scaling di frequenza 
(come il mio athlon 2400+) e ti metti il cuore in pace, o devi caricare un altro 
modulo per lo scaling, e qui servirebbe sapere che processore utilizzi
da root
modprobe -l | grep cpufreq | grep arch
ti fornisce una lista di moduli.
nel mio caso escono questi
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k7.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/gx-suspmod.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-ich.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k6.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-lib.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/longrun.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/p4-clockmod.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k8.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-smi.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.ko
/lib/modules/2.6.18-4-k7/kernel/arch/i386/kernel/cpu/cpufreq/longhaul.ko
fai un modprobe (e quindi modifica /etc/modules) con quello per il tuo processore.
Luca


exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
constant_tsc pni monitor ds_cpl est cid cx16 xtpr
bogomips        : 5984.17
clflush size    : 64
Se faccio  modprobe -l | grep cpufreq | grep arch mi esce fuori
questo :
/lib/modules/2.6.20-1.2933.fc6/kernel/arch/i386/kernel/cpu/cpufreq/p4-
clockmod.ko
/lib/modules/2.6.20-1.2933.fc6/kernel/arch/i386/kernel/cpu/cpufreq/
acpi-cpufreq.ko
"fai un modprobe (e quindi modifica /etc/modules) con quello per il
tuo processore."
Puoi spiegarmi come devo modificare con modprobe la mia cpu?
Ciao e grazie

 
modprobe <nome del modulo>
per tirare su il modulo a mano
aggiungere la riga con il nome del modulo al file /etc/modules fa tirare su il 
modulo automaticamente ad ogni avvio della macchina.
acpi-cpufreq come pure p4-clockmod e altri come speedstep-centrino sono moduli 
che lavorano su specifiche CPU mediante interfaccia ACPI, processori P4 e 
processori Centrino.
Il fatto che acpi-cpufreq non vada, significa che il tuo processore non supporta 
questo modulo per modificare la frequenza.
Se il tuo processore č un p4, devi tirare su il modulo p4-clockmod.
Se il tuo processore non č un P4, devi prima compilare il kernel per quel 
processore (o installarne uno per quel processore) e poi tirare su il modulo 
corretto.
Luca


Potrebbe trattarsi di questo problema?
http://www.ismprofessional.net/pascucci/?p=35
--
Mario 'Reliant' Pascucci
http://www.ismprofessional.net/pascucci/

 Luca
Grazie
"Se il tuo processore è un p4, devi tirare su il modulo p4-clockmod"
Il mio processore è un Intel(R) Pentium(R) 4 CPU 3.00GHz Prescott
Ma come si tira su il modulo p4-clockmod?
Scusa ma io sono agli inizi!

 
da root
modprobe p4-clockmod
Se il modulo parte correttamente, nella directory
/sys/devices/system/cpu/cpu0/cpufreq/
dovresti trovarti poi un po' di files.
il file scaling_cur_freq contiene la frequenza alla quale sta andando il tuo 
processore
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
e leggi la frequenza (in kHz)
Luca

On 10 Mag, 15:34, Luca Pascali <pasckoskyNOS...@TOGLIMI.yahoo.iTt>
wrote:

Grazie 1000 ora funziona!
Però ho ancora un'altro problema tu hai detto che:
"aggiungere la riga con il nome del modulo al file /etc/modules fa
tirare su il
modulo automaticamente ad ogni avvio della macchina"
ma io non ho /etc/modules ma ho /etc/modprobe.conf e dentro c'è
questo:
alias eth0 8139too
alias eth1 bcm43xx
alias snd-card-0 snd-intel8x0
options snd-card-0 index=0
options snd-intel8x0 index=0
remove snd-intel8x0 { /usr/sbin/alsactl store 0 >/dev/null 2>&1
|| : ; }; /sbin/modprobe -r --ignore-remove snd-intel8x0
Come devo fare per far partire il modulo in automatico all'avvio del
pc?


Per far partire il modulo in automatico le messo in rc.local è questo
lo risolto!
Quello che non capisco che il processore viaggia sempre al massimo
della sua potenza anche staccando l'alimentatore da rete elettrica.
Si deve fare qualcosaltro per fare lo scaling?
Ciao e scusa

 
Ho lasciato indietro volutamente la seconda parte (per non creare confusione)
A questo punto si parla di Governor, ossia di quei moduli che decidono come e 
quando scalare la velocità (quello che hai messo si prende la briga di impostare 
la velocità su richiesta).
sempre da root, prova a lanciare il comando
modprobe -l | grep cpufreq | grep driver
Questo è quello che ottengo io
/lib/modules/2.6.18-4-k7/kernel/drivers/cpufreq/cpufreq_userspace.ko
/lib/modules/2.6.18-4-k7/kernel/drivers/cpufreq/cpufreq_stats.ko
/lib/modules/2.6.18-4-k7/kernel/drivers/cpufreq/cpufreq_conservative.ko
/lib/modules/2.6.18-4-k7/kernel/drivers/cpufreq/cpufreq_ondemand.ko
/lib/modules/2.6.18-4-k7/kernel/drivers/cpufreq/freq_table.ko
/lib/modules/2.6.18-4-k7/kernel/drivers/cpufreq/cpufreq_powersave.ko
cpufreq_userspace
cpufreq_conservative
cpufreq_ondemand
cpufreq_powersave
sono i 4 moduli che gestiscono 4 differenti politiche di scalatura della cpu.
Carica tutti i moduli come hai fatto per p4-clockmod.
Per utilizzarli, infine, hai 2 metodi:
1) impostare manualmente il governor quando ti serve
2) installare cpufreqd, un demone che con un paio di regole si prende la briga 
di cambiare velocità e governor in modo automatico in base ad una serie di 
regole (tra cui quella di alimentatore attaccato o batteria).
Naturalmente ti consiglio il secondo metodo, tanto più che cpufreqd dovrebbe 
essere pacchettizzato (anche qui, lo è per Debian) con una serie di regole che 
vanno bene per il 90% dei casi.
Nel caso tu voglia gestirlo manualmente (anche solo per fare prove), vai come 
root nella directory
/sys/devices/system/cpu/cpu0/cpufreq/
e cambia il file scaling_governor per impostare il governor che preferisci.
La scelta dei governor è limitata ai moduli effettivamente caricati (da qui il 
motivo per cui ti ho consigliato di caricarli tutti).
Per vedere quali sono i valori possibili, lancia
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
e per impostarlo, da root o da rc.local
echo ondemand > sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Nel caso sostituisci ondemand con powersave o quello che vuoi (adesso dovrebbe 
essere performance, quindi tutto a manetta).
Per vedere la frequenza corrente (lo ripeto per chiarezza)
cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
Luca

On 10 Mag, 18:36, Luca Pascali <pasckoskyNOS...@TOGLIMI.yahoo.iTt>
wrote:

Si ora funziona perfettamente !!
Ti ringrazio moltissimo!
Quale è la differenza tra:
cpufreq_userspace
cpufreq_conservative
 cpufreq_ondemand
 cpufreq_powersave
cioè quale è il miglior per un'alimentazione a batteria e una
alimentazione con il cavo elettrico?

On 10 Mag, 18:36, Luca Pascali <pasckoskyNOS...@TOGLIMI.yahoo.iTt>
wrote:

Strano io non ho cpufreq_userspace !

 
Non sarą stato compilato nel kernel.
Non č un problema. Non ho mai indagato su quale sia la sua caratteristica e non 
ne sento la mancanza :-)
Luca

 
A parte userspace, che non ho idea cosa faccia :-P
performance: spinge a manetta per avere le migliori prestazioni dal PC. Consuma 
molto, come hai visto
ondemand: se la cpu è in idle (ossia non sta facendo nulla) perché pompare il 
clock? In pratica aumenta la frequenza in base all'utilizzo reale del pc
powersave: è il contrario di performace. Risparmiamo tutto il risparmiabile, 
anche se questo significa ridurre le prestazioni
conservative: dovrei guardare.
Per l'alimentazione a batteria o cavo elettrico non esiste un governor migliore 
o peggiore.
Dipende dalla situazione e da cosa vuoi fare.
Io utilizzo principalmente
ondemand
powersave
performance
Infatti, sul portatile, io ho impostato cpufreqd che monitorizza il sistema e 
cambia governor in base alle necessità.
In particolare fa un controllo anche sullo stato di carica della batteria, sulla 
temperatura e sui processi attivi.
Ti faccio un piccolo esempio di regole che ho impostato. Lo dico a parole per 
renderle più chiare:
Corrente elettrica: ondemand
Risparmio se non uso il pc, consumo molto solo quando lo uso.
Se la temperatura sale oltre i 55°C riduci la velocità massima (si può fare 
anche questo)
Se la temperatura sale oltre i 60°C passa in powersave (al diavolo le 
performace, non mi voglio ustionare le gambe :-) )
Batteria: ondemand
come sopra.
Se la temperatura sale oltre i 50°C riduci la velocità massima (mi tengo un 
margine più ampio)
Se la temperatura sale oltre i 55°C passa in powersave
Se la batteria scende sotto il 40% passa in powersave (preferisco avere il tempo 
di spegnere il PC senza andare con la batteria a 0, oppure avere il tempo di 
collegare l'alimentatore :-) )
Eccezioni con processi:
mencoder (conversione video) vai a 1.33GHz fisso (io ho un Centrino da 1.6GHz) e 
oltre i 55°C vai a 800MHz
altri applicativi che richiedono risorse (ad esempio i giochi 3D, o alcune 
emulazioni) salta a 1.6GHz, la velocià è più importante).
Questa è una configurazione che a me soddisfa, ciascuno ha le sue necessità.
Comunque ripeto che la configurazione di default va già bene nel 90% dei casi.
Luca

 Luca
-- 
Ciao.
Alessandro 
"Ubuntu" - an African word, meaning "Slackware is too hard for me".

renderle più chiare:
Ma come si impostano queste regole?

 
Si tratta di un file di testo.
Ci sono le definizioni delle modalità di lavoro (powersave, performance high, 
performance low, ecc.) e le regole vere e proprie dove dici le condizioni di 
"innesco" e il profilo da utilizzare (ad esempio Batteria tra 0 e 40, ac 
offline, utilizza powersave).
Il file è abbastanza chiaro e semplice da modificare.
Comunque di default va già abbastanza bene.
Luca