# frequency scaling

## inspiron

ho seguito la guida a questo link:

http://dev.gentoo.org/~earthwings/pmg/power-management-guide.html#doc_chap3

ma la cpu sta sempre al massimo...

dove posso aver sbagliato?

----------

## Ic3M4n

ovunque  :Wink: 

mi sembra un po' vasto come argomento no? è un po come dire il mio pc non si accende, perchè?

tanto per cominciare mi sembra che quelle regole per cpufreqd siano differenti rispetto alle mie. però io utilizzo cpufreq 2. quello credo sia riferito all'1.

----------

## Ilvalle

Cosa usi per "scalare"?

Un demone o i governi del kernel (ondemand/conservative)

Hai compilato i modulil relativi alla tua archittetura?

Magari posta qualche info in +...

ciao

[EDIT] Abbiamo postato in 2...[/EDIT]

----------

## inspiron

so che è un argomento vast...

ditemi che info vi servono...

io ho seguito per filo e per segno quella guida...

la versione che ho di cpufreqd è la 2.0....

----------

## MeMyselfAndI

Potresti cominciare postando tutte le info relative al frequency scaling : moduli del kernel, file di configurazione, tipo di processore e tutto quello che ti viene in mente che pensi possa centrare con il tuo problema..

----------

## gutter

Prova ad emergere:

```
*  sys-power/cpufrequtils

      Latest version available: 0.4

      Latest version installed: 0.4

      Size of downloaded files: 422 kB

      Homepage:    http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html

      Description: Userspace utilities for the Linux kernel cpufreq subsystem

      License:     GPL-2

```

fatto ciò posta un:

```
 $ cpufreq-info
```

----------

## inspiron

nel kernel , un 2.6.15-r1 ho questo:

```
 

[*] CPU Frequency scaling   

<*>   'performance' governor   

<*>   'powersave' governor    

<*>   'ondemand' cpufreq policy governor  

<*>   'conservative' cpufreq governor 

<M>   ACPI Processor P-States driver  

<*>   Intel Enhanced SpeedStep

```

cpufreq-info:

```

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: acpi-cpufreq

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 1.60 GHz - 3.07 GHz

  available frequency steps: 3.07 GHz, 3.07 GHz, 3.07 GHz, 3.07 GHz, 3.07 GHz, 1.60 GHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 3.07 GHz and 3.07 GHz.

                  The governor "performance" may decide which speed to use

                  within this range.

  current CPU frequency is 3.07 GHz.

```

cat /proc/cpuinfo:

```
processor       : 0

vendor_id       : GenuineIntel

cpu family      : 15

model           : 2

model name      : Mobile Intel(R) Pentium(R) 4     CPU 3.06GHz

stepping        : 9

cpu MHz         : 3056.785

cache size      : 512 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 2

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid xtpr

bogomips        : 6119.46

```

/etc/cpuferqd.conf:

```

# this is a comment

# see CPUFREQD.CONF(5) manpage for a complete reference

[General]

  pidfile=/var/run/cpufreqd.pid

  poll_interval=3

#  enable_plugins= programs,acpi_ac,cpu,acpi_battery,acpi_temperature,nforce2,sensors,nvclock,apm,pmu

  verbosity=5

[/General]

#[nforce2_atxp1]

#vcore_path=/some/path

#vcore_default=1500

#[/nforce2_atxp1]

#[sensors_plugin]

#sensors_conf=/some/file

#[/sensors_plugin]

[Profile]

name=On Demand High

minfreq=40%

maxfreq=100%

policy=ondemand

[/Profile]

[Profile]

name=On Demand Low

minfreq=20%

maxfreq=80%

policy=ondemand

[/Profile]

[Profile]

name=Performance Low

minfreq=80%

maxfreq=80%

policy=performance

[/Profile]

[Profile]

name=Powersave High

minfreq=70%

maxfreq=70%

policy=powersave[/Profile]

[Profile]

name=Powersave Low

minfreq=30%

maxfreq=30%

policy=powersave

[/Profile]

#[Profile]

#name=Conservative High

#minfreq=33%

#maxfreq=100%

#policy=conservative

#[/Profile]

#

#[Profile]

#name=Conservative Low

#minfreq=0%

#maxfreq=66%

##

# Basic states

##

# when AC use performance mode

[Rule]

name=AC Rule

ac=on                    # (on/off)

profile=Performance High

[/Rule]

# conservative mode when not AC

[Rule]

name=AC Off - Low Battery

ac=off                   # (on/off)

battery_interval=0-30

profile=Powersave Low

[/Rule]

# conservative mode when not AC

[Rule]

name=AC Off - Medium Battery

ac=off                   # (on/off)

battery_interval=30-70

profile=On Demand Low

[/Rule]

# stay in performance mode for the first minutes

[Rule]

name=AC Off - High Power

ac=off                   # (on/off)

battery_interval=70-100

profile=On Demand High

[/Rule]

##

# Special Rules

##

# CPU Too hot!

[Rule]

name=CPU Too Hot

acpi_temperature=55-100

cpu_interval=50-100

profile=Performance Low

[/Rule]

# use performance mode if I'm watching a movie

# I don't care for batteries!

# But don't heat too much.

[Rule]

name=Movie Watcher

programs=xine,mplayer,gmplayer

battery_interval=0-100

acpi_temperature=0-60

cpu_interval=0-100

profile=Performance High

[/Rule]

```

ho notato che il governor cambia in relazione al carico di lavoro, ma la frequenza della cpu rimane sempre la stessa...

----------

## gutter

I moduli sembrano esserci tutti  :Smile: 

Non ho mai usato cpufreqd per un Pentium 4 quindi non so dirti altro.

----------

## inspiron

 *gutter wrote:*   

> I moduli sembrano esserci tutti 
> 
> Non ho mai usato cpufreqd per un Pentium 4 quindi non so dirti altro.

 

il mio unico dubbio era se mettere intel enchanced speedstep  e  intel pentium 4 clock modulation...

li ho provati entrambi ma sembra che non cambi niente...

----------

## .:chrome:.

ma sei sicuro che il tuo processore supporti lo scaling?

è strano che anche con p4-clockmod non cambi niente.

al limite prova cpudyn, al posto di cpufreqd

----------

## inspiron

 *k.gothmog wrote:*   

> ma sei sicuro che il tuo processore supporti lo scaling?
> 
> è strano che anche con p4-clockmod non cambi niente.
> 
> al limite prova cpudyn, al posto di cpufreqd

 

straipersicuro che lo supporta...

----------

## MajinJoko

se guardi cosa ti ritorna cpufreq-info, leggi:

```
current policy: frequency should be within 3.07 GHz and 3.07 GHz. 
```

come vedi è un'intervallo un pò troppo stretto   :Rolling Eyes: 

prova a dare 

```
cpufreq-set --min 1.60GHz
```

e ripostare cosa ti dice cpufreq-info. se è tutto corretto leggerai:

```
current policy: frequency should be within 1.60 GHz and 3.07 GHz. 
```

Comunque il governor "performance" mantiene il processore alla massima frequenza possibile. Per vedere dei reali cambi di frequenza, e soprattutto se sei con la sola batteria, usa il governor "conservative" o il "powersave".

Ciao

----------

## inspiron

 *MajinJoko wrote:*   

> se guardi cosa ti ritorna cpufreq-info, leggi:
> 
> ```
> current policy: frequency should be within 3.07 GHz and 3.07 GHz. 
> ```
> ...

 

Il governor cambia correttamente in base al carico di lavoro...

in quel momento stavo compilando kde...

non è normale che stesse al massimo?

----------

## MajinJoko

che stesse al massimo è normale.

ciò che non è normale è questa riga:

```

current policy: frequency should be within 3.07 GHz and 3.07 GHz.
```

che in pratica dice che la frequenza varia tra 3.07 e 3.07. Guarda, sono abbastanza sicuro perché giusto ieri sera pasticciavo sul mio portatile.

Prova a fare quanto di dicevo poco fa..

----------

## inspiron

```

l-(root)-(07 February 2006 - 15:40)-(charged,top)

mq-(/home/marco)-> cpufreq-set --min 1.60GHz

l-(root)-(07 February 2006 - 15:40)-(charged,top)

mq-(/home/marco)-> cpufreq-info 

cpufrequtils 0.4: cpufreq-info (C) Dominik Brodowski 2004

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: acpi-cpufreq

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 1.60 GHz - 3.07 GHz

  available frequency steps: 3.07 GHz, 3.07 GHz, 3.07 GHz, 3.07 GHz, 3.07 GHz, 1.60 GHz

  available cpufreq governors: conservative, ondemand, powersave, userspace, performance

  current policy: frequency should be within 1.60 GHz and 3.07 GHz.

                  The governor "performance" may decide which speed to use

                  within this range.

  current CPU frequency is 3.07 GHz.

```

mi consigli di usare solo un governor, o di usarne (come sto facendo ora) piu di uno, facendoli cambiare in base al carico di lavoro?

----------

## MajinJoko

naturalmente ti consiglio di usarne più d'uno, o meglio, di usare tutti quelli che il kernel ti rende disponibili.

ora tu hai questi:

```
available cpufreq governors: conservative, ondemand, powersave, userspace, performance
```

che sono più che sufficenti.

Poi dipende dagli usi, comunque secondo me quando si lavora con la batteria il migliore è l'ondemand, che tiene la cpu al minimo, per farla impennare in caso di bisogno.

Un consiglio: un modo mooolto comodo di gestire il tutto è di utilizzare l'apposita applet per il pannello di gnome. per kde non so cosa si possa usare.

ciao

edit:  prova a vedere se con gli altri governors la cpu cambia frequenza, e nel caso aggiungi il tag [risolto] al titolo del thread   :Wink: 

----------

## inspiron

 *MajinJoko wrote:*   

> naturalmente ti consiglio di usarne più d'uno, o meglio, di usare tutti quelli che il kernel ti rende disponibili.
> 
> ora tu hai questi:
> 
> ```
> ...

 

ma non conviene merttere ondemand in qualunque tipo di utilizzo?

----------

## MajinJoko

perché?

se sei collegato all'alimentazione di rete, la cpu può viaggiare sempre al massimo.

non vedo che vantaggi si possano avere al di fuori dell'utilizzo con batteria (oltre ad un decremento di prestazioni del sistema..).

ciao

----------

## randomaze

 *MajinJoko wrote:*   

> non vedo che vantaggi si possano avere al di fuori dell'utilizzo con batteria (oltre ad un decremento di prestazioni del sistema..).

 

Mai provato un Laptop con P4HT 3GHz d'estate? Ricorda un pò l'esperienza di un pizzaiolo o di un panettiere  :Rolling Eyes: 

----------

## inspiron

 *randomaze wrote:*   

>  *MajinJoko wrote:*   non vedo che vantaggi si possano avere al di fuori dell'utilizzo con batteria (oltre ad un decremento di prestazioni del sistema..). 
> 
> Mai provato un Laptop con P4HT 3GHz d'estate? Ricorda un pò l'esperienza di un pizzaiolo o di un panettiere 

 

giustappunto....  :Very Happy: 

qualcontroindicazioni ci sono nell'usare sempre ondemand?

cioe... quanto si perde in prestazioni?

----------

## MajinJoko

 *randomaze wrote:*   

>  *MajinJoko wrote:*   non vedo che vantaggi si possano avere al di fuori dell'utilizzo con batteria (oltre ad un decremento di prestazioni del sistema..). 
> 
> Mai provato un Laptop con P4HT 3GHz d'estate? Ricorda un pò l'esperienza di un pizzaiolo o di un panettiere 

 

No, mi basta la stufetta del mio Pentium Celeron 2800..   :Razz: 

Però mi sembra un pò inutile avere processoroni super potenti per poi tenerli frenati.. è la mia opinione, che vi devo dire   :Wink: 

----------

## MajinJoko

 *inspiron wrote:*   

>  *randomaze wrote:*    *MajinJoko wrote:*   non vedo che vantaggi si possano avere al di fuori dell'utilizzo con batteria (oltre ad un decremento di prestazioni del sistema..). 
> 
> Mai provato un Laptop con P4HT 3GHz d'estate? Ricorda un pò l'esperienza di un pizzaiolo o di un panettiere  
> 
> giustappunto.... 
> ...

 

In pratica con l'ondemand il processore rimane sempre ad una frequenza bassa, per poi impennarsi in caso di bisogno. nei momenti di stress lavora al massimo, quindi di fatto non perdi nulla. le prestazioni ne risentono nel momento in cui si trova a frequenza bassa e deve passare a frequenza alta. si tratta di poco, pochissimo, ma ripeto, il lato positivo è un minor riscaldamento (se proprio vi pesa).

ciao

----------

## inspiron

ho deciso di usare solo il governor ondemand...

ho ricompilato il kernel levando tutti i governor tranne ondemand, e userspace che non si puo levare...

ora il mio cpufreqd.conf è cosi:

```

# this is a comment

# see CPUFREQD.CONF(5) manpage for a complete reference

[General]

  pidfile=/var/run/cpufreqd.pid

  poll_interval=3

#  enable_plugins= programs,acpi_ac,cpu,acpi_battery,acpi_temperature,nforce2,sensors,nvclock,apm,pmu

  verbosity=5

[/General]

#[nforce2_atxp1]

#vcore_path=/some/path

#vcore_default=1500

#[/nforce2_atxp1]

#[sensors_plugin]

#sensors_conf=/some/file

#[/sensors_plugin]

[Profile]

name=On Demand

minfreq=0%

maxfreq=100%

policy=ondemand

[/Profile]

#[Profile]

#name=On Demand Low

#minfreq=20%

#maxfreq=80%

#policy=ondemand

#[/Profile]

#[Profile]

#name=Performance High

#minfreq=100%

#maxfreq=100%

#policy=performance

#[/Profile]

#[Profile]

#name=Performance Low

#minfreq=80%

#maxfreq=80%

#policy=performance

#[/Profile]

#[Profile]

#name=Powersave High

#minfreq=70%

#maxfreq=70%

#policy=powersave

#[/Profile]

#[Profile]

#name=Powersave Low

#minfreq=30%

#maxfreq=30%

#policy=powersave

#[/Profile]

#[Profile]

#name=Conservative High

#minfreq=33%

#maxfreq=100%

#policy=conservative

#[/Profile]

#

#[Profile]

#name=Conservative Low

#minfreq=0%

#maxfreq=66%

#policy=conservative

#[/Profile]

##

# Basic states

##

[Rule]

name=All

profile=On Demand

[/Rule]

# when AC use performance mode

#[Rule]

#name=AC Rule

#ac=on                    # (on/off)

#profile=Performance High

#[/Rule]

# conservative mode when not AC

#[Rule]

#name=AC Off - Low Battery

#ac=off                   # (on/off)

#battery_interval=0-30

#profile=Powersave Low

#[/Rule]

# conservative mode when not AC

#[Rule]

#name=AC Off - Medium Battery

#ac=off                   # (on/off)

#battery_interval=30-70

#profile=On Demand Low

#[/Rule]

# stay in performance mode for the first minutes

#[Rule]

#name=AC Off - High Power

#ac=off                   # (on/off)

#battery_interval=70-100

#profile=On Demand High

#[/Rule]

##

# Special Rules

##

# CPU Too hot!

#[Rule]

#name=CPU Too Hot

#acpi_temperature=55-100

#cpu_interval=50-100

#profile=Performance Low

#[/Rule]

# use performance mode if I'm watching a movie

# I don't care for batteries!

# But don't heat too much.

#[Rule]

#name=Movie Watcher

#programs=xine,mplayer,gmplayer

#battery_interval=0-100

#acpi_temperature=0-60

#cpu_interval=0-100

#profile=Performance High

#[/Rule]

```

con sistema a riposo cpufreq-info dice:

```

 cpufreq-info 

cpufrequtils 0.4: cpufreq-info (C) Dominik Brodowski 2004

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: acpi-cpufreq

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 1.60 GHz - 3.07 GHz

  available frequency steps: 3.07 GHz, 3.07 GHz, 3.07 GHz, 3.07 GHz, 3.07 GHz, 1.60 GHz

  available cpufreq governors: ondemand, userspace

  current policy: frequency should be within 1.60 GHz and 3.07 GHz.

                  The governor "userspace" may decide which speed to use

                  within this range.

  current CPU frequency is 3.07 GHz.

```

Perche non usa il governor ondemand e va a 3.07 GHz?

----------

## inspiron

nel kernel ho messo  Intel Pentium 4 clock modulation  invece di  Intel Enhanced SpeedStep ed ora le cose sembrano andare meglio:

```

 cpufreq-info 

cpufrequtils 0.4: cpufreq-info (C) Dominik Brodowski 2004

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: p4-clockmod

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 383 MHz - 3.07 GHz

  available frequency steps: 383 MHz, 767 MHz, 1.15 GHz, 1.53 GHz, 1.92 GHz, 2.30 GHz, 2.68 GHz, 3.07 GHz

  available cpufreq governors: ondemand, userspace

  current policy: frequency should be within 383 MHz and 3.07 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 383 MHz.

```

Pero all'avvio non riesce piu a caricare il modulo acpi-cpufreq...

come mai?

edit: una cosa strana è che se faccio subito dopo cat /proc/cpuinfo mi dice che la cpu va a a3.06 GHz...

altra stranezza:

ho modificato parte di /etc/cpufreqd.conf in questo modo:

```

[Profile]

name=On Demand

minfreq=50%

maxfreq=100%

policy=ondemand

[/Profile]

```

ma cmq cpufreq-info mi restituisce questo:

```

 cpufreq-info 

cpufrequtils 0.4: cpufreq-info (C) Dominik Brodowski 2004

Report errors and bugs to linux@brodo.de, please.

analyzing CPU 0:

  driver: p4-clockmod

  CPUs which need to switch frequency at the same time: 0

  hardware limits: 383 MHz - 3.07 GHz

  available frequency steps: 383 MHz, 767 MHz, 1.15 GHz, 1.53 GHz, 1.92 GHz, 2.30 GHz, 2.68 GHz, 3.07 GHz

  available cpufreq governors: ondemand, userspace

  current policy: frequency should be within 383 MHz and 3.07 GHz.

                  The governor "ondemand" may decide which speed to use

                  within this range.

  current CPU frequency is 383 MHz (asserted by call to hardware).

```

con minfreq=50% il minimo non dovrebbe essere superiore a 383 MHz?

poi se faccio /etc/init.d/cpufreqd restart

mi esce fuori questo:

```

* Stopping CPU Frequency Daemon ...                               [ !! ]

```

come mai?[/code]

----------

