From owner-freebsd-alpha Thu Sep 5 13:50:36 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 7BC0E37B406; Thu, 5 Sep 2002 13:50:29 -0700 (PDT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id D5BEB43E65; Thu, 5 Sep 2002 13:50:27 -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 QAA10144; Thu, 5 Sep 2002 16:50:27 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id g85Knvq58615; Thu, 5 Sep 2002 16:49:57 -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.50037.249179.284948@grasshopper.cs.duke.edu> Date: Thu, 5 Sep 2002 16:49:57 -0400 (EDT) To: ticso@cicely.de Cc: John Baldwin , freebsd-alpha@FreeBSD.ORG Subject: Re: ithread preemption In-Reply-To: <20020905204558.GF13050@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> <15735.48281.30915.800894@grasshopper.cs.duke.edu> <20020905204558.GF13050@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: > On Thu, Sep 05, 2002 at 04:20:41PM -0400, Andrew Gallatin wrote: > > > > 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. > > That's clear, but this is not the ithread. > ithreads never return - see ithread_loop() in kern_intr.c. > I think we were being sloppy with our language. The code which schedules the ithread is what returns back to PAL. Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message