Centrino SpeedStep

gelbasack schrieb:
Wenn ich im Editor tippe, brauch' ich doch keine 600MHz, da wäre mir zusätzliche passive Kühlung durch Throttling lieber.

Ich habe Experimente mit einem Stromzähler gemacht und gesehen, dass das Heruntersetzen der MHz-Zahl auf einem Thinkpad sich auf die Wattzahl überhaupt nicht auswirkt.

Wesentlich scheint mir die Reduzierung der Spannungsversorgung zu sein.

Das hier aber reduziert die Wattzahl erheblich mit einem Pentium M basierten Thinkpad:

Code:
# CPU_ENABLE_TCC enables Thermal Control Circuitry (TCC) found in some
# Pentium(tm) 4 and (possibly) later CPUs.  When enabled and detected,
# TCC supports restricting power consumption using the hw.p4tcc.*
# sysctls.  This operates independently of SpeedStep and is useful on
# systems where other mechanisms such as apm(4) or acpi(4) don't work.

options         CPU_ENABLE_TCC

Alleine das Setzen dieser Option sorgt für das Einsparen von 2-6 Watt.
 
Nur so stellt sich mir um so mehr die Frage, warum man nicht beides gleichzeitig verwendet?
Die FreeBSD ACPI-Unterstützung befindet sich noch tief in der Entwicklungsphase => kommt wahrscheinlich einmal!

Aber Du könntest Dir ja selber ein Programm schreiben, welches zum Beispiel mit der Prozessor-Temperaturangabe:

# sysctrl hw.acpi.thermal.tz0.temperature
(Angabe in 0.1 Kelvinschritten, 3112 => 311.2 K => 38.0 °C)

das Throttling steuert. Bei meinem Laptop wird zum Beispiel bei rund 60 °C der Lüfter eingeschaltet, ein Programm mit einer Throttling-Regelung könnte sorgen, dass die Prozesortemperatur nie über 57 °C steigt und somit der Laptop ohne grosse Geräuschemissionen gekühlt wird.
 
Zuletzt bearbeitet:
@Nakal

Laut dem Intel Pentium M-Datenblatt auf Seite 72:
ftp://download.intel.com/design/mobile/datashts/25261203.pdf
greift Thermal Control Circuitry (TCC) beim Pentium M zum Reduzieren der Prozessortemperatur auf Enhanced Speedstep zurück!

Und laut dem "Weissen Papier" zu Enhanced Speedstep auf Seite 5:
ftp://download.intel.com/design/network/papers/30117401.pdf
ist die Prozessorverlustleistung P näherungsweise:

Code:
P = C*(V^2)*F
Bei Verdoppelung der Versorgungsspannung vervierfacht sich die Prozessorverlustleistung. Hingegen bei einer Verdoppelung der Frequenz verdoppelt sich die Prozessorverlustleistung. Interessant ist besonders die Kurve auf Seite 6!

Falls Enhanced Speedstep von FreeBSD durch das Kernelmodul est unterstützt wird, sollte man bei Prozessorfrequenzwechseln einen Unterschied im Verbrauch feststellen, wie er beim Einsatz von TCC messbar war!
 
Zuletzt bearbeitet:
Was ist wenn der CPU mehr as 1500 Mitmacht ?

Irgendwie bekomme ich nur 1500 ob wohl 2000 geben solte :(
Code:
root@baby:/home/happy# sysctl hw.est_freqs
hw.est_freqs: 600 800 1000 1200 1500
Also wechseln tut er auch schön von 600 bis 1500 aber was ist in der oberen liga?
Code:
FreeBSD 5.4-BETA1 #1: Fri Apr  8 01:50:28 CEST 2005
    root@baby.local:/usr/obj/usr/src/sys/BABY
WARNING: debug.mpsafenet forced to 0 as aio requires Giant
WARNING: MPSAFE network stack disabled, expect reduced performance.
ACPI APIC Table: <DELL   CPi R  >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) M processor 2.00GHz (1995.01-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x6d8  Stepping = 8
  Features=0xafe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MM
X,FXSR,SSE,SSE2,SS,TM,PBE>
real memory  = 1073577984 (1023 MB)
avail memory = 1036824576 (988 MB)
ioapic0: Changing APIC ID to 1
ioapic0 <Version 2.0> irqs 0-23 on motherboard
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <DELL CPi R  > on motherboard
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
cpu0: <ACPI CPU (4 Cx states)> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_acad0: <AC Adapter> on acpi0
acpi_cmbat0: <Control Method Battery> on acpi0
acpi_cmbat1: <Control Method Battery> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
nvidia0: <Quadro FX Go1400> mem 0xde000000-0xdeffffff,0xc0000000-0xcfffffff,0xdd000000-0xddffffff irq 16 at
 device 0.0 on pci1
pcib2: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci2: <ACPI PCI bus> on pcib2
bge0: <Broadcom BCM5751 Gigabit Ethernet, ASIC rev. 0x4001> mem 0xdcff0000-0xdcffffff irq 16 at device 0.0 
on pci2
miibus0: <MII bus> on bge0
brgphy0: <BCM5750 10/100/1000baseTX PHY> on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto
bge0: Ethernet address: 00:11:43:71:2a:de
uhci0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> port 0xbf80-0xbf9f irq 16 at device 29.0 on pc
i0
usb0: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B> port 0xbf60-0xbf7f irq 17 at device 29.1 on pc
i0
usb1: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C> port 0xbf40-0xbf5f irq 18 at device 29.2 on pc
i0
usb2: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D> port 0xbf20-0xbf3f irq 19 at device 29.3 on pc
i0
usb3: <Intel 82801FB/FR/FW/FRW (ICH6) USB controller USB-D> on uhci3
usb3: USB revision 1.0
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ums0: Microsoft Microsoft 3-Button Mouse with IntelliEye?, rev 2.00/0.00, addr 2, iclass 3/1
ums0: 3 buttons and Z dir.
pci0: <serial bus, USB> at device 29.7 (no driver attached)
pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci3: <ACPI PCI bus> on pcib3
cbb0: <PCI-CardBus Bridge> at device 1.0 on pci3
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
pci3: <simple comms> at device 1.5 (no driver attached)
pci3: <network> at device 3.0 (no driver attached)
pcm0: <Intel ICH6 (82801FB)> port 0xec40-0xec7f,0xed00-0xedff mem 0xdffffd00-0xdffffdff,0xdffffe00-0xdfffff
ff irq 16 at device 30.2 on pci0
pcm0: <SigmaTel STAC9750/51 AC97 Codec>
pci0: <simple comms> at device 30.3 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <GENERIC ATA controller> port 0xbfa0-0xbfaf,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 irq 17 at device 3
1.2 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_tz0: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x66,0x62,0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model GlidePoint, device ID 0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A
sio1 port 0x300-0x307,0x2e8-0x2ef irq 3 drq 3 on acpi0
sio1: type 16550A
orm0: <ISA Option ROM> at iomem 0xc0000-0xcffff on isa0
pmtimer0 on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1995010801 Hz quality 800
Timecounters tick every 0.833 msec
ad0: 57231MB <TOSHIBA MK6026GAX/PA202D> [116280/16/63] at ata0-master UDMA33
acd0: CDRW <PHILIPS CD-RW/DVD-ROM CDD5263/UD91> at ata1-master UDMA33
Mounting root from ufs:/dev/ad0s2a
Enhanced Speedstep running at 1500 MHz
Changing CPU frequency from 1500 MHz to 1200 MHz
Changing CPU frequency from 1200 MHz to 1000 MHz
Changing CPU frequency from 1000 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 600 MHz
Changing CPU frequency from 600 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 600 MHz
Changing CPU frequency from 600 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 600 MHz
Changing CPU frequency from 600 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 600 MHz
Changing CPU frequency from 600 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 600 MHz
Changing CPU frequency from 600 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 600 MHz
Changing CPU frequency from 600 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 600 MHz
Changing CPU frequency from 600 MHz to 800 MHz
Changing CPU frequency from 800 MHz to 1000 MHz
Changing CPU frequency from 1000 MHz to 1200 MHz
Changing CPU frequency from 1200 MHz to 1500 MHz

Abgeshen davon see ch das er falsch die UDMA mode der platten anzeigt, warscheinlich kommt er mit dem 915PM-Chipsatz nicht zurecht.
 
da es hier um Dell notebooks ging...

habe bei meinem d505 festgestellt, das der cpu takt so weit gesenkt wird, das X 10-20Sekunden braucht zum starten eines konsolen fensters (Eterm).
Ob das an fehlerhaften bios einstellungen oder an acpi bzw. est liegt konnte ich nicht herausfinden.
Den effekt habe ich nur gehabt, wenn ich
1. im akku betrieb war und
2. im bios den cpu takt auf COMPATIBLE eingestellt habe.

Der effekt blieb auch bestehen, wenn ich est angewiesen habe auf 1600mhz zu laufen im akkubetrieb.
(durch rc.conf => estctrl_battery="max" )

Ich habe testweise das Bios auf feste 1600mhz eingestellt.
Seitdem läuft X einwandfrei.
Est regelt weiterhin den speed.

im kernel habe ich zusätzlich tcc aktiviert.

Zu "happy":
Ich hab einen 1.6ghz pentium m. est geht anstandslos über die 1500mhz auf 1600.

Maximale Akku laufzeit ist bis dato 3,2h. (idle)
Durschnittlich: 2,5h
Mindestens: keine ahnung, ich bau nix grossartig wenn ich nicht am strom hänge.
 
mein est will aber nicht auf 1997 zurück springen, bei 1500 ist schluss:

Code:
dev.cpu.0.%desc: ACPI CPU (4 Cx states)
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0  
dev.cpu.0.freq: 1997
dev.cpu.0.freq_levels: 1997/-1 1747/-1 1497/-1 1248/-1 998/-1 748/-1 499/-1 249/-1
dev.acpi_throttle.0.%desc: ACPI CPU Throttling
dev.acpi_throttle.0.%driver: acpi_throttle
dev.acpi_throttle.0.%parent: cpu0
dev.acpi_throttle.0.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1 3750/-1 2500/-1 1250/-1
dev.cpufreq.0.%driver: cpufreq
dev.cpufreq.0.%parent: cpu0

also das ist echt komisch

Code:
Sep  7 00:43:02 baby kernel: Enhanced Speedstep running at 1500 MHz

Ich brauch da 2000, wie bekomm ich das hin?
 
die sind doch Read ONLY oder net, was soll ich da kucken? da ist max 1500 , oder kann man das in irgend ne config beiflussen?
 
hmm nix geht, ich verstehe es nicht :confused:
In wiki steht das neue version erkennt bis 2.1 Ghz, Scheissen dreck

Code:
root@baby:/home/happy# sysctl hw.est_curfreq=1000
hw.est_curfreq: 1500 -> 1000
root@baby:/home/happy# sysctl hw.est_curfreq=1997
hw.est_curfreq: 1000
sysctl: hw.est_curfreq: value is not available
root@baby:/home/happy#

oder
Code:
root@baby:/home/happy# sysctl hw.est_freqs="600 800 1000 1200 1500 1997"
sysctl: oid 'hw.est_freqs' is read only

Was mach ich falsch?
 
Zuletzt bearbeitet:
Ein Auszug aus meiner make.conf .
Code:
# Updating
SUP_UPDATE=     yes
DOC_LANG=       en_US.ISO8859-1
SUP=            /usr/local/bin/cvsup
SUPFLAGS=       -g -L 2
SUPHOST=        cvsup7.de.freebsd.org
SUPFILE=        /usr/share/examples/cvsup/stable-supfile
PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile

# Fetching from de sites preferred
MASTER_SORT_REGEX?=://[^/]*\.de[/.]
 
hmmm in dem thread hier drehte sich es zwar um die Pentium-M Reihe. Aber auf der P3 hat ja Speedstep.

Gibt es eine Möglichkeit dem zu verklickern das er auf max Performance laufen soll?

Wenn ja wie, unter hw.acpi gibt es unter CPU nur 3 Einträge.

cpu.cx_supported: C1/0 c2/50
cpu.cs_lowest: C1
cpu.cx_usage: 100.00% 0.00%

Gruß
McSnoop
 
Zurück
Oben