Freebsd6 + Pentium 640: E Speedstep/Hyperthreading etc.

  • Ersteller Ersteller oliver_herold
  • Erstellt am Erstellt am
O

oliver_herold

Guest
Moin moin,

ich habe da ein kleines Problem bezüglich verfügbarer Infos. Als erstes wollte ich einen neuen Kernel bauen gemäß dem Wiki Eintrag, soweit so gut ...

Wie aktiviere ich SMP/Hyperthreading? SMP ist klar, via options smp, aber Hyperthreading ( da nur virtuell ) benötigt doch bestimmt eine extra Option?

Desweiteren änderte ich den Scheduler von SCHED_4BSD auf SCHED_ULE ( für SMP ), den CPU Typ auf I686_CPU - bin ich damit noch im grünen Bereich?

Weiterhin las ich hier diverse Dinge bezüglich enhanced speedstep, tcc, acpi throttle etc. Mein P4 640 ( 3.2GHz, Hyperthreading, EST, 2Mb L2 Cache etc. ) kann enhanced speedstep. Nur kann man das überhaupt mit Hyperthreading benutzen ( las da irgendetwas von nur 1 CPU ) bzw. ist TCC ein Zusatz oder schließen sich EST und TCC aus?
Darüber hinaus würde es mich brennend interessieren woher man diese zusätzlichen Kerneloptionen bekommt bzw. gibt es eine Beschreibung zu vernünftigen Stromsparmaßnahmen respektive eventuellen Wechselwirkungen mit anderen Optionen?

gruß Oliver
 
Die stromsparmaßnahmen werden vom cpufreq Modul als sysctl Parameter zur Verfügung gestellt, für die automatische Steuerung ist powerd vorgesehen.
 
Automatismus oder Kernel-Konfiguration, desweiteren dachte ich powerd trifft nur auf den A64 zu?
 
Soderle ich habe mal ein wenig in diversen Mailing-Listen rumgestöbert, dort liest man u.a. das SMP auf einem Single Prozessor mit Hyperthreading kontraproduktiv wäre ob eines größeren overheads? Sprich also untauglich?
Der andere Scheduler bringt auch nichts in der Praxis bzw. hat eventuell Bugs inne?

Zu den Stromsparmodi wie oben erwähnt fand ich das man diesbezüglich in der loader.conf

acpi_perf_load="YES"
cpufreq_load="YES"

eintragen müßte, sowie

in rc.conf

powerd_enable="YES"

ist das korrekt?
 
FreeBSD 6.0 cputype i686
mit HTT

Kernel:

options MPTABLE_FORCE_HTT
options SMP

/etc/sysctl.conf:

machdep.hyperthreading_allowed=1

(Achtung diese Variable hat sich in den letzten releases, fast immer im Namen geändert. :confused: )

Entscheide selbst ob das HTT für dich passt oder nicht.

Gruß
UnUser

P.S.: Nicht vergessen HT im bios zu aktivieren, nachdem der neue kernel installiert ist und gebootet werden soll.
 
Danke :)

Der Tipp mit dem powerd etc. war auch gut, klappt nun alles ... das mit HT werde ich mal ausprobieren bzw. ob es etwas bringt in der Praxis. Ist ubench dafüt auch geeignet, manche sind ja nicht davon begeistert?
 
Zu ESS und TCC: Beide arbeiten unabhängig voneinander. cpufreq(4) sagt auch, daß man TCC zusätzlich zu ESS verwenden kann.

Zum Kernelbauen allgemein: Unter /usr/src/sys/conf/NOTES findest du alle plattformunabhängigen und unter /usr/src/sys/$(uname -m)/conf/NOTES alle plattformabhängigen Kernel-Optionen.

Zu SCHED_ULE: Der sollte schon zu 5.x-Zeiten SCHED_4BSD als Standard-Scheduler ablösen, allerdings ist das Teil immer noch derart buggy, daß man es in Produktivumgebungen nicht verwenden sollte.

Zu HTT: Durch SMP erzeugst du einen Overhead, da der Kernel sich dann u.a. darum kümmern muß, die Prozesse/Threads auf die einzelnen CPUs zu verteilen. HTT selbst bringt nicht so viel wie eine reale zweite CPU, sein Mehrgewinn kann durchaus vom SMP-Overhead wieder aufgefressen werden.
 
Zurück
Oben