cpu freq scaling és speedstep

Üdv!

Celeron-M 1,66GHz-es procim van, és akármit forgatok a kernelbe, nem akar menni a speedstep és az órajel állítgatás.

# ls /sys/devices/system/cpu/cpu0/
cache  crash_notes  microcode

nincsen cpufreq mappa, pedig kellene lennie...
a reveláns részek a kernel configból:

# zcat /proc/config.gz | grep CPU
CONFIG_X86_CPUID=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# 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 is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
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
# CPUFreq processor drivers
CONFIG_X86_ACPI_CPUFREQ=y
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
CONFIG_X86_ACPI_CPUFREQ_PROC_INTF=y

# zcat /proc/config.gz | grep SPEEDSTEP
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI=y
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
# CONFIG_X86_SPEEDSTEP_LIB is not set

Hozzászólások

szia

nekem ezekkel megy:
cpufreq_stats 5636 0
cpufreq_ondemand 6128 1
freq_table 4484 2 cpufreq_stats,p4_clockmod

tehát p4 es clockmod

Celeron-M 1400Mhz, 768M, Debian SID, 2.6.18-rc7

Ezt csak megerositeni tudom. Celeron-M + P4-CLOCKMOD: mukodik. (kb. 2.6.9-tol 2.6.20-ig). A Speedstep viszont nem megy.


# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 13
model name      : Intel(R) Celeron(R) M processor         1.40GHz
stepping        : 8
cpu MHz         : 1400.000
cache size      : 1024 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 clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx
bogomips        : 2795.96
clflush size    : 64

A relevans reszletek a kernelconfigbol:


#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
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

#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
CONFIG_X86_P4_CLOCKMOD=y
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y

Meg esetleg, ami befolyasolhatja:


# CONFIG_SMP is not set
[...SNIP...]
CONFIG_MPENTIUMM=y
[...SNIP...]
#
# ACPI (Advanced Configuration and Power Interface) Support
#
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
# CONFIG_ACPI_HOTKEY is not set
CONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not set
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
# CONFIG_ACPI_IBM is not set
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_ACPI_SBS is not set

Nezz esetleg korul errefele: /sys/devices/system/cpu/cpu0/cpufreq/

udv. rubasov

Celeron M-mel nem fog menni az órajelszabályozás, a cacheméret mellett ez a másik jelentős különbség a Pentium M-hez képest.

--
Sokan nincsenek tudatában annak, / hogy egyszer mindenki meghal. / Akik ráébrednek erre, / azonnal abbahagyják az ellenségeskedést.

Látom többeknek is kissé Albion ez a terület, úgyhogy némi infó:

A Celeron-M leggázabb tulajdonsága egy laptopban, hogy nem támogatja
a Pentium-M-ek fejlett energiagazdálkodási módjait.
Ez Pentium-M (Banias mag)-nál: frekvencia (órajel szorzó) és
feszültség-változtatást jelent. (EIST; Intelék most így nevezik a Speedstep-et.)
A Dothan-magos Pentium-M is tudja ezt, de plusz még a cpu éppen nem használt
részeit (pl. cache, végrehajtó-egységek) ki tudja kapcsolni. (Enhanced EIST)

A Celeron-M-mel két dolgot lehet tenni: (lecserélni is lehet, ez a harmadik és
egyben a legjobb ami egy Celeron-M-mel történhet ;) )

ACPI cpu-thermal-throttling, amit eredetileg arra találtak ki (mint a neve is mutatja)
hogy a processzor túlélje pl.a procihűtő meghibásodását vagy a légkondi leállását nyáron :). Ez a dolog úgy működik, hogy amennyiben aktív a cpu.t.t., akkor a proci belső idle (üresjárat) ciklusokat iktat be a futó programok végrehajtásába, azaz a CPU valójában _semennyit sem vesz vissza_ a cpu sebességéből, mindössze idejének
egy részében alacsony energiaigényű állapotban tartózkodik.

A másik dolog az a bizonyos p4-clockmod. Ez egy fokkal jobb, ez ugyanis az FSB-t
állítgatja, ergo ez tényleg vissza tud venni a cpu órajeléből, ami jobb mint a semmi. :)

Ha anyagi okokból "muszály" elkerülni a Pentium-M-es és Turionos laptopokat, akkor
inkább _Mobile_ Sempronos legyen, mint Celeronos. A mobil Sempron legalább hasonlít egy mobil processzorra (PowerNow! vs semmi:) )
A Celeron-M-ről egy szóban: "kerülendő".

de a celeron-m kicserélhető p-m re :) amúgy jól írtad. és megjegyzem, ugye mindenki tudja, hogy az fsb csökkentés mit jelent, a szorzó csökkentésel szemben?!?!
Amúgy szerintem a Celeron-m a függelékes cuccok (centrino plattform) miatt kívánatos lehet. ha nem kell 4+ óra akkuidő, mert az ágynál messezbb nem kerül az íróasztaltól, meg ilyenek. (nekem P-M van, banias, és linuxxal minden megy, kb első blikkre. (thinkwiki azért kellett)), és AMD-nél nem biztos, hogy minden összeállítással így jártam volna.

De hogy a problémát is próbáljam előbre vinni, a triviális kérdést felteszem, amt eddig senki nem tett fel(én legalábbis úgy láttam), de lehet hogy a topiknyitó figyelmetlenségéből a helyes megoldáshoz vezet:

modulok be vannak töltve? dmesg mit ír a modul betöltésekor? (verbose kapcsolóval töltsed be a modult, ha támogassa (lásd kernel doksi))

sok szerencsét!
---
Reactor error - core dumped!

fsb: a processzor és a "külvilág" közötti adatbusz órajele.
szorzó: az fsb egy órajelciklusa alatt a processzorban hány ciklus történjen.

ha a szorzót csökkented, akkor a gép részegységei és a processzor közötti elvi max sávszél nem (ideális esetben) változik. nem nagy számításigényű feladatoknál észre sem veszed. ha az fsb-t csökkented, lassabban tusz a memóriából olvasni, miegymás... a teljesítmény sokkal kisebb lesz.. (számítási)

dióhéjban ennyi

---
Reactor error - core dumped!


modprobe powernow-k8 (itt neked lehet, hogy a powernow-k7 kell majd)
modprobe cpufreq-ondemand
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Ez, így ebben a formában tökéletesen beváltotta a hozzá fűzött reményeket. Ezek szerint a k8 kellett nekem is. (előtte egy lsmod kiadva, a további javasolt modulok már alapból bent voltak.)

Köszönöm.
Működik az ondemand.

Nekem olyan problémám van jelenleg, hogy:
Adott egy amd mobile sempron3400+ processzor (acer aspire 3103).
Van rajta több rendszer is pl. uhu, ubuntu.
Feltettem a debian4.0-t az előző rendszerek mellé és velük ellentétben itt nem támogatott a processzor frekvenciájának változtatása.
Próbáltam megkeresni a megoldást erre vonatkozóan a neten. Eljutottam a cpufreqd programig, a verzérlő fájlban létrehoztam az "ondemand" részt, de itt megállt a tudomány(om), szóval elakadtam.
Azt már mondták, hogy kezdőként még ne nagyon ugorjak a debian-nak, de kiváncsi vagyok...
Hogyan lehetne rábírni a rendszert a frekvencia-változtatás engedélyezésére?
Köszi,
Cappa

A modulok be vannak töltve? Nekem Acer Aspire 5101AWLMI-m van igaz Turionnal és nekem a következő után ment:


modprobe powernow-k8 (itt neked lehet, hogy a powernow-k7 kell majd)
modprobe cpufreq-ondemand
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Ezeken kívül még az alábbiakat szoktam betölteni:


modprobe ac 
modprobe battery
modprobe fan
modprobe thermal
modprobe video
modprobe processor
modprobe hotkeys
modprobe button

Hmmm.... ez nagyon jól hangzik!!!!

Este kipróbálom (most épp dolgozok és csak néha tudok rápillantani a netre...)

Először egy lsmod sem ártana, hogy tudjam, mi is van. Igaz?

Köszi,
Cappa

szerk: ubuntu esetén megnézem, hogy k7 vagy k8 kell nekem, remélem ez járható út.

Először is elnézést, hogy máshova tettem a választ, de a net ledöglött (vihar és esőcsillapítás következtében) és így csak gprs net-en keresztül tudtam ügyködni. Az meg lasúúúúú, és rosszkor rossz helyen nyomtam...
Most jó a net és észre is vettem. Bocs.


modprobe powernow-k8 (itt neked lehet, hogy a powernow-k7 kell majd)
modprobe cpufreq-ondemand
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Ez, így ebben a formában tökéletesen beváltotta a hozzá fűzött reményeket. Ezek szerint a k8 kellett nekem is. (előtte egy lsmod kiadva, a további javasolt modulok már alapból bent voltak.)

Köszönöm.
Működik az ondemand.

az ondemand amúgy szerintem szar governor, mert gyk egy ls |grep bla -ra is felugrik a proci órajel maxra, lassan meg y le, eseleg épp annyira felmelegszik emiatt, hogy bekapcsola venti -> zaj. vagy plpasziánsz.
ha mozgatos a kártyát, felugrik az órajel. szerintem a conservative jobb.
---
Reactor error - core dumped!

Kipróbáltam, de nekem nem akart felvenni a sebességét folyamatosan 800Mhz-en tartotta, indíthattam én openoffice-t, skype-ot akármit is. Nemtom mi van vele, de így nagyon nem ok. Ezt tudja a cpufreq-powersave is :). Maradok opndemand-nál, ha akksiról nyomom akkor meg powersave. Köszi azért a tippet.

Willamette-től kezdve minden cerkánál p4-clockmodal le lehet vinni a frekvenciát. Csak sajnos nem sokat ér az egész.... Celeron M-nél mérések alapján szinte nem függ a fogyasztás a sebességtől. Forrást most nem tudok linkelni, de vagy a thinkwiki, vagy a debian testing listán volt...

Én az ondemand mellett voksolok:
Fogyasztás szempontjából szinte telljesen mindegy, hogy magas orajellel dolgozik picit, vagy alacsony frekin hosszabb ideig.
Sebesség szempontjából viszont jobb a magas órajel...

Nekem is ondemand-on van most, de a kernelfejlesztők a másikat ajánlják:


CONFIG_CPU_FREQ_GOV_CONSERVATIVE:                                                          

'conservative' - this driver is rather similar to the 'ondemand'
governor both in its source code and its purpose, the difference is
its optimisation for better suitability in a battery powered                              
environment.  The frequency is gracefully increased and decreased                          
rather than jumping to 100% when speed is required.                                       

If you have a desktop machine then you should really be considering                       
the 'ondemand' governor instead, however if you are using a laptop,                        
PDA or even an AMD64 based computer (due to the unacceptable                               
step-by-step latency issues between the minimum and maximum frequency                      
transitions in the CPU) you will probably want to use this governor.