Date: Fri, 19 Sep 1997 13:56:23 -0600 (MDT) From: Nate Williams <nate@mt.sri.com> To: "John S. Dyson" <toor@dyson.iquest.net> 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) Message-ID: <199709191956.NAA20377@rocky.mt.sri.com> In-Reply-To: <199709191848.NAA02645@dyson.iquest.net> References: <199709191604.KAA19167@rocky.mt.sri.com> <199709191848.NAA02645@dyson.iquest.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199709191956.NAA20377>