From owner-freebsd-arch Sat Nov 20 21: 3:50 1999 Delivered-To: freebsd-arch@freebsd.org Received: from ns1.yes.no (ns1.yes.no [195.204.136.10]) by hub.freebsd.org (Postfix) with ESMTP id CBD8D14D62 for ; Sat, 20 Nov 1999 21:03:46 -0800 (PST) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.9.3/8.9.3) with ESMTP id GAA23280 for ; Sun, 21 Nov 1999 06:03:45 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id GAA12292 for freebsd-arch@freebsd.org; Sun, 21 Nov 1999 06:03:45 +0100 (MET) Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 790B115038 for ; Sat, 20 Nov 1999 21:03:32 -0800 (PST) (envelope-from eischen@vigrid.com) Received: from vigrid.com (pm3-pt24.pcnet.net [206.105.29.98]) by pcnet1.pcnet.com (8.8.7/PCNet) with ESMTP id AAA07001; Sun, 21 Nov 1999 00:03:28 -0500 (EST) Message-ID: <38377D08.6A9AD714@vigrid.com> Date: Sun, 21 Nov 1999 00:03:04 -0500 From: "Daniel M. Eischen" X-Mailer: Mozilla 4.5 [en] (X11; I; FreeBSD 4.0-CURRENT i386) X-Accept-Language: en MIME-Version: 1.0 To: Julian Elischer Cc: freebsd-arch@freebsd.org Subject: Re: Threads References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Julian Elischer wrote: > THe return value system for MT syscalls is by necessity differnt from non > MT ones, and we need to continue to support old binaries. The return value isn't any different because it really doesn't return to the same context, but to the UTS in a different context :-) When the blocking system call is finally resumed, it returns in the same manner as it does in the non-MT case. > therefore by deduction, either a new syscall gate, or each syscall needs > to be somehow aware as to how it was called. teh new call gate is the > simplest way, and even allows intermixing of the new and old calls. > > New calls must be able to return and say > "hey it's not me returnuing, but actually a new KSE, " > > (just one example of how they must be different) > If it tuns out we think of somw really sneaky wayt of doing it so that > they are compatible with old code, > then we can always remove it, but I think I'd rather be absolutly certain > that code calling a new version syscall knows what to do with the return > values I return, and using a new syscall gate gives me that. I thought we could just put async notification hooks in sleep/wakeup, mi_switch, etc. I guess you could call this sneaky, but how else are you going to do it without changing most of the kernel source? Dan Eischen eischen@vigrid.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message