From owner-freebsd-current Fri Sep 19 18:05:24 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id SAA22710 for current-outgoing; Fri, 19 Sep 1997 18:05:24 -0700 (PDT) Received: from mailhost.Ipsilon.COM (mailhost.ipsilon.com [205.226.5.12]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id SAA22704; Fri, 19 Sep 1997 18:05:16 -0700 (PDT) Received: from radio.ipsilon.com (radio.Ipsilon.COM [205.226.28.3]) by mailhost.Ipsilon.COM (8.6.11/8.6.10) with SMTP id SAA10065; Fri, 19 Sep 1997 18:03:01 -0700 Message-ID: <34232181.718FFBF0@ipsilon.com> Date: Fri, 19 Sep 1997 18:06:09 -0700 From: Joe Eykholt Organization: Ipsilon Software Engineering X-Mailer: Mozilla 3.01Gold (X11; I; FreeBSD 2.1.0-RELEASE i386) MIME-Version: 1.0 To: Nate Williams CC: Terry Lambert , toor@dyson.iquest.net, dyson@FreeBSD.ORG, karpen@ocean.campus.luth.se, current@FreeBSD.ORG Subject: Re: FYI: regarding our rfork(2) References: <199709192104.PAA20740@rocky.mt.sri.com> <199709192130.OAA05946@usr06.primenet.com> <199709192145.PAA20992@rocky.mt.sri.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk An aspect of sharing stacks that I didn't see mentioned is that it's more efficient from an implementation viewpoint for all threads to use the same virtual address space. I don't think we should impose unnecessary requirements without considering what would be lost in efficiency. If threads are to be truly light-weight, and you want the ability to run threads from the same process on different processors, then you'll want the two processors to use the identical virtual space for that process. Otherwise the kernel will need to duplicate most of the page directory in order to have some pages mapped differently in different threads. ... that'll be almost as expensive as separate processes. On a single processor, it'll mean doing a VM context switch when switching between threads on the same processor. Joe