Date: Mon, 18 Jan 1999 07:36:33 +0000 (GMT) From: "Silas S. Brown" <ssb22@cam.ac.uk> To: freebsd-questions@FreeBSD.ORG Subject: FAQ correction Message-ID: <Pine.LNX.3.96.990117150750.9659A-100000@belt.thor.cam.ac.uk>
next in thread | raw e-mail | index | archive | help
I refer to Question 12.8, "How Cool is FreeBSD?". Although FreeBSD does use the HLT instruction as the answer states, it is not in the kernel context switcher but rather in the APM routines (see the comment in the apm_cpu_idle function in i386/apm/apm.c). This means that it won't come into effect unless you have enabled APM (Advanced Power Management) under the Misc section of the kernel configuration utility (boot -c), or in your customised kernel, and you have an APM BIOS (even though you don't need one to execute the HLT instruction). You may also need to enable the APM driver, either in /etc/rc.conf or otherwise. It might also be a good idea to run 'apmconf -h'. Even then, FreeBSD is not as 'cool' as it could be. Win95 programs like 'cpuidle' speak of enabling the processor's "suspend on halt" function, which completely suspends the processor every time HLT is executed. Just executing HLT without doing the suspend is likely to reduce the processor's power consumption (and heat generation) somewhat, but not so much. FreeBSD just tells the BIOS when the processor is idle, so it's up to the BIOS what to do, and few do an immediate suspend (they mostly just slow the clock rate, if anything). In my experience (FreeBSD2.2.6, Cyrix PR200, AMI) FreeBSD runs significantly hotter than Windows NT even with the APM enabled. Regards -- Silas S Brown, St John's College Cambridge UK http://members.bigfoot.com/silasbrown "Let us not become egotistical, stirring up competition with one another, envying one another" - Galatians 5:26 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.3.96.990117150750.9659A-100000>