Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Apr 2000 11:33:50 -0400 (EDT)
From:      Luoqi Chen <luoqi@watermarkgroup.com>
To:        bright@wintelcom.net, djb@ifa.au.dk
Cc:        freebsd-smp@FreeBSD.ORG
Subject:   Re: hlt instructions and temperature issues
Message-ID:  <200004271533.e3RFXoI01828@lor.watermarkgroup.com>

next in thread | raw e-mail | index | archive | help
> On Thu, Apr 27, 2000 at 07:32:46AM -0700, Alfred Perlstein wrote:
> > http://www.freebsd.org/FAQ/misc.html#AEN3892
> 
> I was not asking about UP FreeBSD. I know that linux and FreeBSD behave
> more or less the same in that case. I was specifically referring to the SMP
> case. I am also not into OS advocacy AT ALL! I am simply concerned about
> the temperature in my FreeBSD box and a similar Linux box is the only thing
> sensible I can compare to. I am sorry if my question looked like an
> advocacy issue.
> 
> I also don't need to consult the faq if I want to know how hot or cool a
> freebsd UP box is. I have one here (single celeron, same clock frequency as
> the SMP boxes) which is only 29 degrees Celcius. 
> 
> I did search my own archive of freebsd-smp and I also searched using
> the freebsd.org search engine. The only relevant mail I found was from Remy
> Nonnenmacher, asking about the hlt instruction in the SMP case. 
> 
> As far as I found, Remy never got an answer. 
> 
> Regards, 
> 
>     Dave Boers. 
> 
> 
> -- 
>  djb@ifa.au.dk                              d.j.boers@tn.utwente.nl
>  PGP key:  ftp://relativity.student.utwente.nl:/pub/pgpkeys/djb.asc
> 
No, we don't use hlt instruction on SMP. We could, but I guess nobody
bothered to work on it. It should be fairly straight forward: prior to
hlt, lower TPR priority so that this processor is first in line to
receive an interrupt. If you are interested, you may give the follwing
patch a try.

-lq

Index: swtch.s
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/swtch.s,v
retrieving revision 1.91
diff -u -r1.91 swtch.s
--- swtch.s	2000/03/29 06:15:38	1.91
+++ swtch.s	2000/04/27 15:31:11
@@ -258,9 +258,14 @@
 
 ENTRY(default_halt)
 	sti
-#ifndef SMP
-	hlt					/* XXX:	 until a wakeup IPI */
+#ifdef SMP
+#ifdef CHEAP_TPR
+	movl	$0, lapic_tpr
+#else
+	andl	$~APIC_TPR_PRIO, lapic_tpr
+#endif /** CHEAP_TPR */
 #endif
+	hlt
 	ret
 
 /*


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004271533.e3RFXoI01828>