From owner-freebsd-arch Sat Jan 19 1:21: 9 2002 Delivered-To: freebsd-arch@freebsd.org Received: from mta7.pltn13.pbi.net (mta7.pltn13.pbi.net [64.164.98.8]) by hub.freebsd.org (Postfix) with ESMTP id E492D37B400 for ; Sat, 19 Jan 2002 01:21:07 -0800 (PST) Received: from elischer.org ([64.164.10.141]) by mta7.pltn13.pbi.net (iPlanet Messaging Server 5.1 (built May 7 2001)) with ESMTP id <0GQ600G32HZ7RF@mta7.pltn13.pbi.net> for arch@freebsd.org; Sat, 19 Jan 2002 01:21:07 -0800 (PST) Date: Sat, 19 Jan 2002 01:21:07 -0800 From: Julian Elischer Subject: doreti() and userret() To: arch@freebsd.org Message-id: <3C493A80.F77A2283@elischer.org> MIME-version: 1.0 X-Mailer: Mozilla 4.7 [en] (X11; U; FreeBSD 5.0-CURRENT i386) Content-type: text/plain; charset=iso-8859-2 Content-transfer-encoding: 7BIT X-Accept-Language: en, hu Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Userret() is supposed to be called the last thing before the processor is returned to userland.. As such it is called from syscall() and from fork_return(). However AFTER they call it doreti() is called, which in turn calls ast which sometimes calls userret() again..... I can't help but feel that there could be some retionalisation there.. Also, either userret() is the last thing to be called or ast() is, or maybe doreti is, but certainly they can't ALL be the last thing called before the kernel returns to user mode. Is it possible that we could take the userret() out of syscall() and fork_return() and just make sure that it is always called from doreti()? Julian -- +------------------------------------+ ______ _ __ | __--_|\ Julian Elischer | \ U \/ / hard at work in | / \ julian@elischer.org +------>x USA \ a very strange | ( OZ ) \___ ___ | country ! +- X_.---._/ presently in San Francisco \_/ \\ v To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message