From owner-freebsd-alpha Thu Sep 5 13:21:14 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7763137B400; Thu, 5 Sep 2002 13:21:12 -0700 (PDT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id A416E43E65; Thu, 5 Sep 2002 13:21:11 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id QAA08962; Thu, 5 Sep 2002 16:21:11 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id g85KKfe58577; Thu, 5 Sep 2002 16:20:41 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15735.48281.30915.800894@grasshopper.cs.duke.edu> Date: Thu, 5 Sep 2002 16:20:41 -0400 (EDT) To: ticso@cicely.de Cc: John Baldwin , freebsd-alpha@FreeBSD.ORG Subject: Re: ithread preemption In-Reply-To: <20020905201443.GD13050@cicely9.cicely.de> References: <15735.44660.835003.901974@grasshopper.cs.duke.edu> <15735.47204.905352.900631@grasshopper.cs.duke.edu> <20020905201443.GD13050@cicely9.cicely.de> X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Bernd Walter writes: > OK - I have some basic understandig problems here. > > Why should ithreads ever return to PAL? Because PAL initiates the interrupt and creates a stackframe on the interrupted thread's kernel stack. It then calls the OSes interrupt vector. In order to restore the state of the world to be like it was before the interrupt happened, we need to return back to pal. > Why is IPL raised while an ithread is running? Pal raises the IPL to the appropriate level to block further interrupts from the same source before calling into the OS. > >From what I understood before the interrupt handler, which is called > from PAL, just triggers the ithread, block the intline and returns. > The -stable code is easier to understand.. Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message