PDA

View Full Version : Programma per cambio clock in linux


shodan
23-08-2004, 14:38
Ciao a tutti,

premetto che non so se questa sia la sezione più adatta... se i mod ritengono opportuno spostarla non c'è problema! :cool:

L'altro giorno ho scritto un piccolo programma in C che, interfacciandosi a determinati moduli del kernel linux, può variare la velocità della CPU senza necessitare di riavvii (un po' quello che faceva SoftFSB per Windows, solo che in questo caso è il modulo che cambia realmente la velocità del processore, il mio programma serve solo a rendere più amichevole l'utilizzo del modulo).

Per poter funzionare richiede che i moduli CPUFreq, CPUGovernor e quelli relativi alla CPU in oggetto sia presenti nel sistema o che siano compilati staticamente dentro il kernel (in quest'ultimo caso potete usare l'opzione -b). Qui di seguito troverete l'eseguibile, nel post seguente il sorgente.

Mi farebbe piace che qualcuno lo provasse e mi dicesse cosa ne pensa (per eventuali insulti no problem! :D).

PS: funziona solo con processori P4 e P-M, ma renderlo funzionante anche per gli altri è una sciocchezza! ;)
CIAO! :)

shodan
23-08-2004, 14:39
Ecco il sorgente...

CIAO! :)

Xfree
23-08-2004, 15:06
Forse era un post più da programmazione o linux...utile come programma però ;)

shodan
23-08-2004, 23:54
Ciao,

effettivamente, nonostante ci abbia pensato parecchio sul dove aprire questa discussione, mi viene il dubbio di aver cannato sezione!

Comunque se sarà il caso ci penseranno i mod a spostarlo, no? ;)

CIAO! :)

sid-biciuz
24-08-2004, 13:26
Se riesci a farlo compattibile per xp-m te lo testo fino alla morte :)

shodan
24-08-2004, 17:39
Ciao,

se puoi dare il comando "cat /proc/cpuinfo" da shell e postarmi l'output vedo di garantire il supporto anche per l'XP-M.

CIAO! :)

sid-biciuz
24-08-2004, 18:43
Originariamente inviato da shodan
Ciao,

se puoi dare il comando "cat /proc/cpuinfo" da shell e postarmi l'output vedo di garantire il supporto anche per l'XP-M.

CIAO! :)

Ciapa :)
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : AMD Athlon(tm) XP 3000+
stepping : 0
cpu MHz : 2110.654
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips : 4153.34

E overkloccato.
Ti dico subito, per non farti perdere tempo, che il modulo powernow-k7, non me lo carica:
FATAL: Error inserting powernow-k7 (/lib/modules/2.6.8/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k7.ko): No such device

Ciao.

shodan
25-08-2004, 08:17
Ciao, grazie per le info!

Purtroppo se non ti viene caricato il modulo powernow-k7 c'è poco da fare: a quanto pare il tuo processore non viene riconosciuto come mobile (ma lo è?)?

Ciao grazie comunque! :)

sid-biciuz
25-08-2004, 09:09
Grazie a te per l'interessamento.

p.s.
Si comunque e un mobile.

shodan
01-09-2004, 16:06
up! ;)

shodan
02-09-2004, 08:38
up! :p

kibuzo
02-09-2004, 11:42
io ho un Duron 1300, puoi farlo funzionare anke li?

processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 7
model name : AMD Duron(TM)
stepping : 1
cpu MHz : 1391.273
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 2744.32

come avrai notato è già un pò ovrcloccato... spero nn sia un problema ;)

khri81
02-09-2004, 12:11
io ho p4 nn mobile, si può solo scendere di clock oppure anche salire?
ma x salire o scendere dovrà pure modificare il bus, giusto.

shodan
02-09-2004, 13:50
Originariamente inviato da kibuzo
io ho un Duron 1300, puoi farlo funzionare anke li?

processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 7
model name : AMD Duron(TM)
stepping : 1
cpu MHz : 1391.273
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips : 2744.32

come avrai notato è già un pò ovrcloccato... spero nn sia un problema ;)

Ciao, purtroppo per quello che riguarda i processori AMD se la CPU non è mobile il modulo che ne regola la frequnza rifiuta di caricarsi, quindi è possibile variare la frequenza della CPU stessa.

Mi spiace.

CIAO! :)

shodan
02-09-2004, 13:54
Originariamente inviato da khri81
io ho p4 nn mobile, si può solo scendere di clock oppure anche salire?
ma x salire o scendere dovrà pure modificare il bus, giusto.

Ciao,

il P4, anche se non mobile, dovrebbe essere in grado di modificare la sua frequenza. Non so però se sia il BUS ad essere modificato o se è il processore che inizia a saltare cicli di clock (insomma non so se cambia la velocità del FSB o se si attiva il throttling del P4). Dovrei leggere la documentazione del modulo (a dire il vero l'ho fatto ma mi sono dimenticato la risposta! :p Comunque credo al 90% che a variare sia il BUS, dato che il molti è comunque bloccato...).
A scanso di equivoci chiarisco subito che l'utility in questione non è adatta per overcloccare: non permette di specificare frequenze maggiori di quella di targa del processore.

CIAO! :)

SkArKa
04-09-2004, 13:28
Ecco l'errore che mi da, se hai idea di cosa potrei fare te ne sarei grato :) Come kernel ho su il 2.6.8-gentoo-r3...suppongo sia impostato per riconoscere solo kernel ufficiali...

root@hostname ska # /home/ska/pclockmod

P4 and P-M clock modulator utility

Can not determine kernel version!

Mi servirebbe proprio un programma per downcloccare la cpu quando non compilo...ne conosci altri?

shodan
05-09-2004, 10:53
Originariamente inviato da SkArKa
Ecco l'errore che mi da, se hai idea di cosa potrei fare te ne sarei grato :) Come kernel ho su il 2.6.8-gentoo-r3...suppongo sia impostato per riconoscere solo kernel ufficiali...

root@hostname ska # /home/ska/pclockmod

P4 and P-M clock modulator utility

Can not determine kernel version!

Mi servirebbe proprio un programma per downcloccare la cpu quando non compilo...ne conosci altri?

Ciao,

oggi vedo di darci un'occhiata e di risolvere il problema.

Purtropop non conosco altri programmi per modificare il clock della CPU, mi spiace...

PS: che processore hai? Te lo chiedo perchè con i P4 non mobile ho riscontrato un comportamente curioso: quando il processore è in idle (cioè quando converrebbe rallentarlo perchè tanto non ha molto da fare) il consumo sembra non cambiare, mentre quando il processore è sotto sforza il consumo cambia davvero notevolmente in base al clock (ma nei momenti in cui il processore sta lavorando seriamente non credo sia molto utile abbassarne il clock...). Sinceramente credo che questo comportamento sia legato sia al fatto che i P4 non mobile il BIOS non cambia v-core "al volo" in base al clock, sia alla funzione di throttling del P4... qualcuno ha qualche altra idea?

CIAO! :)

PiloZ
05-09-2004, 11:32
il mio è XP-M 2600+ con il powernow

piloz@PiloZpC:~$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 10
model name : AMD K7 processo
stepping : 0
cpu MHz : 2333.915
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips : 4603.90

e questo è il mio config che dovrebbe andar bene:

piloz@PiloZpC:~$ cat /usr/src/linux/.config|grep CPU
# CONFIG_X86_CPUID is not set
# CPU Frequency scaling
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_PROC_INTF=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_TABLE=y
# CPUFreq processor drivers
# CONFIG_X86_ACPI_CPUFREQ is not set

SkArKa
05-09-2004, 11:47
Originariamente inviato da shodan
Ciao,

oggi vedo di darci un'occhiata e di risolvere il problema.

Purtropop non conosco altri programmi per modificare il clock della CPU, mi spiace...

PS: che processore hai? Te lo chiedo perchè con i P4 non mobile ho riscontrato un comportamente curioso: quando il processore è in idle (cioè quando converrebbe rallentarlo perchè tanto non ha molto da fare) il consumo sembra non cambiare, mentre quando il processore è sotto sforza il consumo cambia davvero notevolmente in base al clock (ma nei momenti in cui il processore sta lavorando seriamente non credo sia molto utile abbassarne il clock...). Sinceramente credo che questo comportamento sia legato sia al fatto che i P4 non mobile il BIOS non cambia v-core "al volo" in base al clock, sia alla funzione di throttling del P4... qualcuno ha qualche altra idea?

CIAO! :)

Ok io aspetto, per la cpu vedi la sign, non ho capito cosa intendi per il consumo che non sembra cambiare in idle mentre invece sotto sforzo si? ma soprattutto...cosa varia? perche' io da win usando setfsb abbassavo il fsb direttamente ed ero sicuro che consumasse/scaldasse di meno

shodan
05-09-2004, 13:07
Originariamente inviato da SkArKa
Ok io aspetto, per la cpu vedi la sign, non ho capito cosa intendi per il consumo che non sembra cambiare in idle mentre invece sotto sforzo si? ma soprattutto...cosa varia? perche' io da win usando setfsb abbassavo il fsb direttamente ed ero sicuro che consumasse/scaldasse di meno

Ciao,

effettivamente sembra essere proprio così: dalle rilevazioni del modulo battery.ko (che ti permette di stabilire quanta corrente sta consumando il tuo sistema) il consumo in idle non sembra variare granchè, mentre sotto sforzo la musica cambia.

In ogni caso, come dicevo, vedo di renderlo utilizzabile anche col tuo kernel così poi mi sai dire ok? ;)

CIAO! :)

SkArKa
05-09-2004, 13:12
Ok, grazie mille :) Devo anche cercare un programma tipo cpuz...vado di emerge -s

shodan
05-09-2004, 14:01
Ciao a tutti,

ho apportato al programmino le modifiche richieste.

Purtroppo posso testarle in modo molto relativo, dato che sul mio portatile funzionava già tutto alla perfezione.

In allegato troverete il file *.zip che contiene sia l'eseguibile che il sorgente.

Poi fatemi sapere mi raccomando! ;)

CIAO! :)

PS: piloz, il programma funzionerà solo se riesce a caricare il modulo powernow-k7.ko, che altro non è che il driver per la CPU. Hai già provato a caricare a mano questo modulo per vedere se tutto funziona? Perchè sopra un altro utente mi diceva che, nonostante il suo Barton fosse mobile, il modulo relativo non gli veniva caricato...

shodan
05-09-2004, 14:02
Ho dimenticato l'allegato! :p

Eccolo qui...

SkArKa
05-09-2004, 16:59
Perfetto ora funziona :)

Intanto ho trovato un altro programma, gkt-cpuspeedy, che fa lo stesso identico lavoro tanto piu' che le opzioni di frequenza sono le stesse e, come si vede dallo screen, cambiando via pclock la frequenza cambia anche secondo il programmino grafico! L'unica cosa che non riesco a trovare e' un tool che indichi tutti i vari parametri come fsb ecc per vedere se varia effettivamente la frequenza della cpu o se e' una stima...in ogni caso a 350 non cammina :cool:

Unica pecca di tutto cio' e', come mi pare fosse gia' stato detto, l'impossibilita' di settare frequenze oltre a quella default, quindi anche bootando a 3.3 ghz poi non potro' tornare a piu' di 2.8...


EDIT: ho notato ora quel current frequency 3221......non ci capisco piu' una mazza

http://skarka.altervista.org/Stamp%20vari/frequency.png

shodan
05-09-2004, 18:47
Originariamente inviato da SkArKa
Perfetto ora funziona :)

Intanto ho trovato un altro programma, gkt-cpuspeedy, che fa lo stesso identico lavoro tanto piu' che le opzioni di frequenza sono le stesse e, come si vede dallo screen, cambiando via pclock la frequenza cambia anche secondo il programmino grafico! L'unica cosa che non riesco a trovare e' un tool che indichi tutti i vari parametri come fsb ecc per vedere se varia effettivamente la frequenza della cpu o se e' una stima...in ogni caso a 350 non cammina :cool:

Unica pecca di tutto cio' e', come mi pare fosse gia' stato detto, l'impossibilita' di settare frequenze oltre a quella default, quindi anche bootando a 3.3 ghz poi non potro' tornare a piu' di 2.8...


EDIT: ho notato ora quel current frequency 3221......non ci capisco piu' una mazza

http://skarka.altervista.org/Stamp%20vari/frequency.png

Ciao,

non ho la possibilità di variare il clock del P4 dal BIOS e putroppo non posso replicare le tue condizioni di prova.

Comunque i P4 dovrebbero avere una piccola ROM che fonisce al sistema operativo indicazioni su quello che è dovrebbe essere il clok di targa del processore. Se i moduli cpu_freq e freq_table vanno a leggere questo paramentro e impostano come tetto massimo la frequenza riportata in quella ROM, è chiaro che non riuscirai a far impostare dai moduli velocià superiori a quelle di default. Se invece come tetto massimo viene presa la velocità della CPU al momento dell'avvio, questo problema non dovrebbe porsi.

Comunque sono felice che ora funzioni! :)

CIAO! :)

SkArKa
05-09-2004, 19:12
Ma tu sai come lo abbassa il clock? cioe' via fsb come setfsb o cosa?

shodan
06-09-2004, 08:26
Originariamente inviato da SkArKa
Ma tu sai come lo abbassa il clock? cioe' via fsb come setfsb o cosa?

Be' sai questa domanda me l'hanno già posta prima... e sai come ho risposto? Che me lo sono dimenticato! :D Dato che il mio programma non fa altro che passare dei valori al modulo, non ho nessun bisogno "tecnico" di sapere come si abbassa il clock, quindi, anche se ho cercato della documentazione in merito, ora non la ricordo! :D Furbo eh? :sofico:
Comunque credo davvero che, per lo meno con i processori non speedstep, l'unica sia qualla di modificare il bus... anche se forse con i P4 si potrebbe anche "giocare" con il throttling.

CIAO! :)

SkArKa
06-09-2004, 09:48
:D :D Che pirla! Comunque ora cerco io info...l'importante e' che mi consumi di meno se no il giorno della bolletta potrei ritrovarmi il pc in cortile dopo un volo di sei piani e non sarebbe bello :cry: :cry: :muro:

shodan
06-09-2004, 11:44
Originariamente inviato da SkArKa
:D :D Che pirla! Comunque ora cerco io info...l'importante e' che mi consumi di meno se no il giorno della bolletta potrei ritrovarmi il pc in cortile dopo un volo di sei piani e non sarebbe bello :cry: :cry: :muro:

Be almeno se vola per sei piani non avrai problemi di cattivo flusso d'aria all'interno del (piccolo) case :D :sofico:

shodan
05-01-2006, 01:00
Ciao a tutti,

mi permetto di riuppare questo vecchio thread perchè ho fatto qualche modifica al programma in questione e, come al solito, invito chi ne avesse voglia a farmi da beta tester! :D ;)

Vi allego il sorgente modificato...

Ciao grazie :)