From owner-freebsd-smp Thu Apr 27 8:26:18 2000 Delivered-To: freebsd-smp@freebsd.org Received: from Ilsa.StevesCafe.com (Ilsa.StevesCafe.com [206.168.13.65]) by hub.freebsd.org (Postfix) with ESMTP id 15A1C37B594 for ; Thu, 27 Apr 2000 08:26:16 -0700 (PDT) (envelope-from fbsd@Ilsa.StevesCafe.com) Received: from Ilsa.StevesCafe.com (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.9.3/8.9.3) with ESMTP id JAA24484; Thu, 27 Apr 2000 09:26:05 -0600 (MDT) (envelope-from fbsd@Ilsa.StevesCafe.com) Message-Id: <200004271526.JAA24484@Ilsa.StevesCafe.com> X-Mailer: exmh version 2.0.2 2/24/98 From: Steve Passe To: djb@ifa.au.dk Cc: Alfred Perlstein , freebsd-smp@FreeBSD.ORG Subject: Re: hlt instructions and temperature issues In-reply-to: Your message of "Thu, 27 Apr 2000 16:38:51 +0200." <20000427163851.A8149@relativity.student.utwente.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 27 Apr 2000 09:26:05 -0600 Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi, switch.s: ENTRY(default_halt) sti #ifndef SMP hlt /* XXX: until a wakeup IPI */ #endif ret I think the reason we don't hlt is that it is problematic to get the CPU running again without an INT to wake it up. So the scheduler has a process for it, but its not given a chance to run it as the CPU is hlt'd. As the comment suggests a wakeup IPI (inter-processor INT) could wake it, but the more complicated code is that which hands off the process from the signaling CPU to the recently woken CPU. -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message