# Amd64 turion X2, scaling frequency [Io ho risolto!]

## lucapost

Possiedo un portatile dual core (cpu0,cpu1), ad esempio queste sono le caratteristiche di cpu1 prese da /proc/cpuinfo:

```
processor   : 1

vendor_id   : AuthenticAMD

cpu family   : 15

model      : 72

model name   : AMD Turion(tm) 64 X2 Mobile Technology TL-50

stepping   : 2

cpu MHz      : 1600.000

cache size   : 256 KB

physical id   : 0

siblings   : 2

core id      : 1

cpu cores   : 2

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 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm cr8_legacy

bogomips   : 3221.46

TLB size   : 1024 4K pages

clflush size   : 64

cache_alignment   : 64

address sizes   : 40 bits physical, 48 bits virtual

power management: ts fid vid ttp tm stc
```

I due processori supportano i seguenti governor:

```
jarod linux # cat /sys/devices/system/cpu/cpu[0-1]/cpufreq/scaling_available_governors

conservative ondemand powersave userspace performance 

conservative ondemand powersave userspace performance 
```

e le seguenti frequenze:

```
jarod linux # cat /sys/devices/system/cpu/cpu[0-1]/cpufreq/scaling_available_frequencies 

1600000 800000 

1600000 800000 
```

Se serve vi posto anche le configurazioni del kernel.

Ho seguito questa guida per la gestione energetica del laptop.

Ottengo felicemente lo switch tra i runlevel battery e default, infatti:

```
jarod ~ # rc-status |grep Runlevel && cpufreq-info -o

Runlevel: default

          minimum CPU frequency  -  maximum CPU frequency  -  governor

CPU  0       800000 kHz ( 50 %)  -    1600000 kHz (100 %)  -  ondemand

CPU  1       800000 kHz ( 50 %)  -    1600000 kHz (100 %)  -  ondemand
```

```
jarod ~ # rc-status |grep Runlevel && cpufreq-info -o

Runlevel: battery

          minimum CPU frequency  -  maximum CPU frequency  -  governor

CPU  0       800000 kHz ( 50 %)  -    1600000 kHz (100 %)  -  conservative

CPU  1       800000 kHz ( 50 %)  -    1600000 kHz (100 %)  -  conservative
```

Il problema Ã¨ che anche a carico bassissimo di lavoro delle cpu non avviene lo scailing a 0.8GHz, se faccio a mano comunque funziona.

Ho provato a disattivare il supporto multiprocessore nel kernel, con solo una cpu attiva lo scaling avviene correttamente.

Qualcuno ha avuto esperienze con un processore simile?

----------

## flocchini

un banale "echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" in local.start? Gia' provato? se non funge posta la tua conf del kernel relativa, deve fungere x forza  :Wink: 

----------

## lucapost

Lo switch tra i runlevel e tra i governor lo ottengo facilmente, infatti:

```
lucapost@jarod ~ $ cat /sys/devices/system/cpu/cpu[0-1]/cpufreq/scaling_governor && rc-status |grep Runlevel && cat /proc/acpi/ac_adapter/AC0/state

ondemand

ondemand

Runlevel: default

state:                   on-line
```

```
lucapost@jarod ~ $ cat /sys/devices/system/cpu/cpu[0-1]/cpufreq/scaling_governor && rc-status |grep Runlevel && cat /proc/acpi/ac_adapter/AC0/state

conservative

conservative

Runlevel: battery

state:                   off-line

```

Quello che non ottengo Ã¨ lo scaling delle cpu a 0.8Ghz, girano sempre a 1.6GHz.

La configurazione del kernel riguardante lo scaling Ã¨ questa:

```
#

# CPU Frequency scaling

#

CONFIG_CPU_FREQ=y

CONFIG_CPU_FREQ_TABLE=y

CONFIG_CPU_FREQ_DEBUG=y

CONFIG_CPU_FREQ_STAT=y

CONFIG_CPU_FREQ_STAT_DETAILS=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=y

CONFIG_CPU_FREQ_GOV_USERSPACE=y

CONFIG_CPU_FREQ_GOV_ONDEMAND=y

CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
```

La configurazione completa la trovate qui.

Questo Ã¨ il kernel:

```
lucapost@jarod ~ $ uname -a

Linux jarod 2.6.19.2 #5 SMP Fri Jan 26 22:51:27 CET 2007 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-50 AuthenticAMD GNU/Linux
```

Grazie dell'aiuto.

----------

## xveilsidex

prova a togliere dal kernel il "symmetric multi-processing system"   da   "Processor type and features"---> Symmetric multi-processing system   avevo un problema simile ke ho risolto togliendo quella voce dal kernel come letto in un po qualche tempo fa sul forum!

----------

## lucapost

```
  â CONFIG_SMP:      

  â                                                                                                                           

  â This enables support for systems with more than one CPU. If you have                                                                                                                                        â

  â a system with only one CPU, like most personal computers, say N. If                                                                                                                                         â

  â you have a system with more than one CPU, say Y.    

  â                                                                                                                                                                                                            

  â If you say N here, the kernel will run on single and multiprocessor                                                                                                                                        

  â machines, but will use only one CPU of a multiprocessor machine. If                                                                                                                                        

  â you say Y here, the kernel will run on many, but not all,                                                                                                                                                  

  â singleprocessor machines. On a singleprocessor machine, the kernel                                                                                                                                         

  â will run faster if you say N here.                                                                                                                                                                         

  â                                                                                                                                                                                                            

  â If you don't know what to do here, say N.                                                                                                                                                                  

  â                                                                                                                                                                                                            

  â Symbol: SMP [=y]                                                                                                                                                                                           

  â Prompt: Symmetric multi-processing support                                                                                                                                                                 

  â   Defined at arch/x86_64/Kconfig:259                                                                                                                                                                       

  â   Location:                                                                                                                                                                                                

  â     -> Processor type and features  
```

GiÃ  provato, quando dicevo che ho disattivato una cpu, mi riferivo a questa voce.

Sapete com'Ã¨...vorrei continuare ad usare entrambe le cpu, anche se ho visto che negli ultimi kernel esiste un'opzione per attivare/disattivare una cpu "in corsa"...

----------

## xveilsidex

Non penso ke quell'opzione disattivi la cpu! il kernel si comporta in maniera diversa con quell'opzione attiva : ovvero dovrebbe far eseguire ad entrambre le cpu lo un'identica copia del s.o. e queste copie comunicano tra loro se necessario!

----------

## lucapost

Non mi e affato chiara la situazione.

Il mio dmesg trova 2 cpu:

```
jarod ~ # dmesg |grep Turion

AMD Turion(tm) 64 X2 Mobile Technology TL-50 stepping 02

powernow-k8: Found 2 AMD Turion(tm) 64 X2 Mobile Technology TL-50 processors (version 2.00.00)
```

L'help del kernel sembra essere abbastanza chiaro:

 *help del kernel wrote:*   

> If you have a system with more than one CPU, say Y.

 

Se disattivo quella voce, cat /proc/cpuinfo mi restituisce una sola cpu.

Ho la sensazione che la strada da seguire non Ã¨ questa. Sbaglio?

----------

## xveilsidex

 *lucapost wrote:*   

> Non mi e affato chiara la situazione.
> 
> Il mio dmesg trova 2 cpu:
> 
> ```
> ...

 

Io ho un centrino Duo ( dual core ) e per far funzionare lo scaling della cpu ho disattivato il symmetric multi-processing system!

----------

## Kernel78

Se disattivi smp su un sistema dual core facevi prima a prenderti un processore single core  :Rolling Eyes: 

----------

## flocchini

 *Kernel78 wrote:*   

> Se disattivi smp su un sistema dual core facevi prima a prenderti un processore single core 

 

e questo chiude il discorso   :Laughing: 

ma hai provato a dare il comando che ho suggerito piu' su? cosa risponde?

----------

## lucapost

 *flocchini wrote:*   

> 
> 
> ma hai provato a dare il comando che ho suggerito piu' su? cosa risponde?

 

Io non sento niente!

Il problema sembra essere risolto, ho avviato il kernel vanilla senza l'opzione noapic nel grub.conf.

Ora rifaccio qualche prova con i gentoo-sources, qualche versione fa con questi kernel, mi si piantava il boot senza l'opzione noapic.

ps: tutto questo per fare uno sciptino che mi visualizzi qualche info di sistema con xosd!!!  :Laughing: 

pps: tra un pÃ² metto il tag risolto! ma solo tra un pÃ²....

----------

## xveilsidex

 *Kernel78 wrote:*   

> Se disattivi smp su un sistema dual core facevi prima a prenderti un processore single core 

 

si ma non ci posso fare niente se l'unico modo ( ke io sappia ) x far fungere lo scaling è quello di togliere l'smp! O_o  se hai un idea migliore sono lieto di accoglierla.

----------

## Kernel78

 *xveilsidex wrote:*   

>  *Kernel78 wrote:*   Se disattivi smp su un sistema dual core facevi prima a prenderti un processore single core  
> 
> si ma non ci posso fare niente se l'unico modo ( ke io sappia ) x far fungere lo scaling è quello di togliere l'smp! O_o  se hai un idea migliore sono lieto di accoglierla.

 

Io non so quale sia il tuo problema, io con il mio AMD Athlon(tm) 64 X2 Dual Core Processor ho SMP attivato e lo scaling funziona perfettamente.

Quello che volevo farti notare è che tu per avere lo scaling perdi la possibilità di usare i due core della tua CPU ... personalmente tra scaling e SMP non ci penserei due secondi e manderei al diavolo lo scaling (nella denegata ipotesi in cui acquistassi un portatile), se tu preferisci il contrario buon per te, non sono miei i soldi con cui hai acquistato una cpu che non sfrutti appieno.

IMHO sarebbe come comprare un dispositivo USB 2 quando la propria macchina non ha la porta usb, evidentemente a te va bene così, scelte personali.

----------

## xveilsidex

 *Kernel78 wrote:*   

>  *xveilsidex wrote:*    *Kernel78 wrote:*   Se disattivi smp su un sistema dual core facevi prima a prenderti un processore single core  
> 
> si ma non ci posso fare niente se l'unico modo ( ke io sappia ) x far fungere lo scaling è quello di togliere l'smp! O_o  se hai un idea migliore sono lieto di accoglierla. 
> 
> Io non so quale sia il tuo problema, io con il mio AMD Athlon(tm) 64 X2 Dual Core Processor ho SMP attivato e lo scaling funziona perfettamente.
> ...

 

No, il mio problema con lo scaling sorge quando apro il terminale un applicazione o quant'altro .. dove si vede ke il computer fa fatica a caricare l'applicazione! ho optato a tenere lo scaling piuttosto che il dualcore per motivi di risparmio energetico di batteria dato ke la batteria nn dura piu' di due ore senza scaling!

----------

## lucapost

 *xveilsidex wrote:*   

> Io ho un centrino Duo ( dual core ) e per far funzionare lo scaling della cpu ho disattivato il symmetric multi-processing!

 

Io ho un Amd64 Turion X2 ( dual core ) e per far funzionare lo scaling della cpu  non ho disattivato il symmetric multi-processing system!   :Cool: 

Secondo me ora tocca anche a te smanettare un pÃ² con le configurazioni.

Vedi tu!

Per ora metto il tag risolto.

Grazie a tutti.

----------

## xveilsidex

 *lucapost wrote:*   

>  *xveilsidex wrote:*   Io ho un centrino Duo ( dual core ) e per far funzionare lo scaling della cpu ho disattivato il symmetric multi-processing! 
> 
> Io ho un Amd64 Turion X2 ( dual core ) e per far funzionare lo scaling della cpu  non ho disattivato il symmetric multi-processing system!  
> 
> Secondo me ora tocca anche a te smanettare un pÃ² con le configurazioni.
> ...

 

cosa hai attivato? o disattivato per farlo andare?

----------

## lucapost

Come ho giÃ  indicato sopra ho tolto noapic dall'init di grub.

Ho aggiornato il link al .config, notare la versione del kernel:

```
lucapost@jarod ~ $ uname -a

Linux jarod 2.6.19-gentoo-r4 #3 SMP Sat Jan 27 15:42:39 CET 2007 x86_64 AMD Turion(tm) 64 X2 Mobile Technology TL-50 AuthenticAMD GNU/Linux
```

Spero possa esserti d'aiuto, anche se tu hai un'intel.

ps: Uff, primo viaggio in treno con lo scaling che funge e ho giÃ  freddo alle gambe!  :Laughing: 

----------

## xveilsidex

 *lucapost wrote:*   

> Come ho giÃ  indicato sopra ho tolto noapic dall'init di grub.
> 
> Ho aggiornato il link al .config, notare la versione del kernel:
> 
> ```
> ...

 

domani proverò grazie ugualmente della dritta   :Wink: 

----------

## xveilsidex

 *Kernel78 wrote:*   

> Se disattivi smp su un sistema dual core facevi prima a prenderti un processore single core 

 

ho risolto con un aggiornamento kernel! ora ho l'acpi e il dual core insieme   :Cool: 

----------

