From owner-freebsd-current Fri Sep 19 12:56:53 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id MAA03927 for current-outgoing; Fri, 19 Sep 1997 12:56:53 -0700 (PDT) Received: from ns.mt.sri.com (SRI-56K-FR.mt.net [206.127.65.42]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id MAA03915; Fri, 19 Sep 1997 12:56:44 -0700 (PDT) Received: from rocky.mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by ns.mt.sri.com (8.8.7/8.8.7) with ESMTP id NAA18866; Fri, 19 Sep 1997 13:56:25 -0600 (MDT) Received: (from nate@localhost) by rocky.mt.sri.com (8.7.5/8.7.3) id NAA20377; Fri, 19 Sep 1997 13:56:23 -0600 (MDT) Date: Fri, 19 Sep 1997 13:56:23 -0600 (MDT) Message-Id: <199709191956.NAA20377@rocky.mt.sri.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: "John S. Dyson" Cc: nate@mt.sri.com (Nate Williams), dyson@freebsd.org, karpen@ocean.campus.luth.se, current@freebsd.org Subject: Re: FYI: regarding our rfork(2) In-Reply-To: <199709191848.NAA02645@dyson.iquest.net> References: <199709191604.KAA19167@rocky.mt.sri.com> <199709191848.NAA02645@dyson.iquest.net> X-Mailer: VM 6.29 under 19.15 XEmacs Lucid Sender: owner-freebsd-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk John S. Dyson writes: > Nate Williams said: > > John S. Dyson writes: > > [ New shared everything call being added ] > > > > I wrote: > > > > it seems that sharing the stack > > > > is asking for nothing but trouble. > > > > John responds: > > > > > I don't disagree with what you are saying, however, we need to be able > > > to have full access to the stacks in every thread. Of course, we would > > > be wise to create guard page(s) between stacks. > > > > Why do we need to have access to the stack? Is it *only* for the thread > > 'kernel' that runs in user-land that does the 'context-switching' > > between the threads, or will each thread have access to another thread's > > stack. I can definitely see the need for the former, but *NOT* the > > latter. > > Actually, both need it. Otherwise, we will be incompatible with the rest > of the world. Sean Fagan and I have been having an off-line discussion, and I know understand the reasons for doing it this way. However, although I understand the reasons, I can also see where doing so makes it *much* more difficult to write 'correct' threaded programs, where I define correct as the ability to run w/out stepping on yourself in *all* cases. Note, I said difficult, not impossible. I now understand many of the design decisions behind why Java does thing the way that it does. (Not too say that it's the best solution, but I do think they did a *lot* of things right.) > > The great strength about Unix is that another 'process' can'tt muck with > > another 'processes' easily, and with threads I'd like to see this taken > > to whatever extreme as possible given the constraints of implementation. > > The threads are a different issue. I don't disagree with the threads > stacks being isolated for philosophical reasons -- however it is just > wrong from a compatibility standpoint. If we had a type of thread > that had isolated stacks, it would be nice, but that is a different > exercise. One that would be worthwhile, IMHO. :) :) :) Nate