Pagina 1 di 1

Cpufreq ondemand usa solo una delle frequenze disponibili

Inviato: gio 3 gen 2008, 17:52
da jena
Ciao a tutti!!!
Questo è il mio primo post su questo forum...ho iniziato da poco ad utilizzare slackware...
Ho installato slackware 11 su un vecchio portatile e stò cercando di risolvere il problema del cpu scaling...
Ho installato cpufreq e cpufrequtils ho inserito i moduli da caricare all'avvio nel file /etc/rc.d/rc.modules e ho indicato nel file /etc/rc.d/rc.local di far partire all'avvio cpufreqd e il governor ondemand come scelta di default...
Il problema però è che il governor ondemand invece di far oscillare la frequenza tra quelle disponibili utilizza soltanto la più bassa come potete vedere dall'out di cpufreq-info:

Codice: Seleziona tutto

cpufreq-info
analyzing CPU 0:
driver: powernow-k7
CPUs which need to switch frequency at the same time: 0
hardware limits: 498 MHz - 1.1 GHz
available frequency steps: 498 MHz, 598 MHz, 698 MHz, 1.1 GHz
available cpufreq governors: performance, conservative, ondemand, userspace
[color=red]current policy: frequency should be within 498 MHz and 498 MHz.
The governor "ondemand" may decide which speed to use within this range.[/color]
current CPU frequency is 498 MHz (asserted by call to hardware)
Come posso indicare al governor ondemand di utilizzare tutte le frequenze disponibili???
Spero possiate aiutarmi...
Grazie!!!

Inviato: ven 4 gen 2008, 12:36
da whites11
modifica i valori in
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
e
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

per settare la frequenza minima e massima.

per le frequenze disponibili vedi

/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

Re:

Inviato: sab 5 gen 2008, 14:54
da jena
whites11 ha scritto:modifica i valori in
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
e
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
per settare la frequenza minima e massima.
Ciao e grazie per la tua risposta!!!
Avevo notato che il contenuto dei 2 file era lo stesso e sia nella frequenza massima che nella frequenza minima era presente sempre lo stesso valore 498360 cioè la frequenza sulla quale ondemand ha bloccato la mia cpu...cosi ho provato a modificare scaling_max_freq inserendo 1096392 cioè il valore massimo supportato dalla mia cpu...
Da root ho provato prima cosi:

Codice: Seleziona tutto

echo 1096392 >/sys/devices//system/cpu/cpu0/cpufreq/scaling_max_freq
Ma il valore non cambia infatti se dò:

Codice: Seleziona tutto

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
498360
Il valore non è cambiato...
Da root ho provato anche a modificarlo con l'editor di testo kate,apro il file,sostituiso il valore 498360 con 1096392 e salvo...ma se provo a riaprire il file questo è vuoto...e al riavvio cè di nuovo il valore 498360...
Non capisco perchè non riesco a modificare il contenuto del file...
Spero possiate aiutarmi...
Grazie!!!

Re: Cpufreq ondemand usa solo una delle frequenze disponibili

Inviato: sab 5 gen 2008, 16:15
da absinthe
posta il contenuto di
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

il file viene generato dinamicamente ad ogni riavvio: se devi rendere effettiva la modifica, devi inserire il tuo echo in /etc/rc.d/rc.local

M

Re: Cpufreq ondemand usa solo una delle frequenze disponibili

Inviato: sab 5 gen 2008, 19:23
da jena
absinthe ha scritto:posta il contenuto di
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
Grazie della tua risposta!!!
Il contenuto del file è:
498340 598008 697676 1096348
absinthe ha scritto:il file viene generato dinamicamente ad ogni riavvio: se devi rendere effettiva la modifica, devi inserire il tuo echo in /etc/rc.d/rc.local
Ho aggiunto questa riga:

Codice: Seleziona tutto

echo 1096381 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Il contenuto del file è:

Codice: Seleziona tutto

#!/bin/sh
#
# /etc/rc.d/rc.local:  Local system initialization script.
#
# Put any local startup commands in here.  Also, if you have
# anything that needs to be run at shutdown time you can
# make an /etc/rc.d/rc.local_shutdown script and put those
# commands in there.
/usr/sbin/cpufreqd start
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 1096381 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Ho riavviato ma non è cambiato nulla infatti se dò cpufreq-info:

Codice: Seleziona tutto

cpufreq-info
analyzing CPU 0:
driver: powernow-k7
CPUs which need to switch frequency at the same time: 0
hardware limits: 498 MHz - 1.1 GHz
available frequency steps: 498 MHz, 598 MHz, 698 MHz, 1.1 GHz
available cpufreq governors: performance, conservative, ondemand, userspace
[b]current policy: frequency should be within 498 MHz and 498 MHz.[/b]
The governor "ondemand" may decide which speed to use within this range.
current CPU frequency is 498 MHz (asserted by call to hardware)
Alla riga currente policy la frequenza è bloccata a 498 MHZ...
E se dò:

Codice: Seleziona tutto

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
498360
Il contenuto del file non cambia...
Spero si possa trovare una soluzione...
Grazie!!!

Re: Cpufreq ondemand usa solo una delle frequenze disponibili

Inviato: lun 7 gen 2008, 13:51
da whites11
jena ha scritto: Il contenuto del file non cambia...
Spero si possa trovare una soluzione...
Grazie!!!

prova con

Codice: Seleziona tutto

echo -n "frequenza" >/sys/devices/...

Re: Cpufreq ondemand usa solo una delle frequenze disponibili

Inviato: lun 7 gen 2008, 14:19
da jena
Grazie della risposta!!!
Ho provato ma non cambia...
Cosa posso provare ancora?
Grazie!!!

Re: Cpufreq ondemand usa solo una delle frequenze disponibili

Inviato: mer 9 gen 2008, 16:07
da jena
Il problema era una bug...come descritto qui
http://bugzilla.kernel.org/show_bug.cgi?id=9615