From owner-freebsd-ia64 Thu Nov 8 3:35:55 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from anchor-post-33.mail.demon.net (anchor-post-33.mail.demon.net [194.217.242.91]) by hub.freebsd.org (Postfix) with ESMTP id DE34F37B417 for ; Thu, 8 Nov 2001 03:35:51 -0800 (PST) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by anchor-post-33.mail.demon.net with esmtp (Exim 2.12 #1) id 161nTK-000MJg-0X; Thu, 8 Nov 2001 11:35:50 +0000 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id fA8BYZ788983; Thu, 8 Nov 2001 11:34:35 GMT (envelope-from dfr@nlsystems.com) Date: Thu, 8 Nov 2001 11:34:35 +0000 (GMT) From: Doug Rabson To: Peter Wemm Cc: Subject: Re: Region usage In-Reply-To: <20011107163619.356CC39F0@overcee.netplex.com.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ia64@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Wed, 7 Nov 2001, Peter Wemm wrote: > I dont know, but they plan to use the entire 61 bit address space for > the same shareable entity, ie: each process text segment was in a > single region, and the non-shareable parts were in a different one so that > there is a common 61 bit region to share between processes. > > The ELF file layout is currently ideal for this if I recall correctly. I have to confess to being extremely sceptical about this. I can just about imagine how it might work for static apps but supporting this scheme for dynamic apps would be a nightmare of complexity in the dynamic linker. Do they really expect to get measurable performance gains here? The kind of sharing that I think would be really useful would be for a shared memory region which is mapped into many different processes. Currently, this is inefficient due to the huge number of pv_entries needed. A shared address space would only use one set of PTEs and pv_entries which would save a lot. I can just about imaging a scheme where this could happen semi-automatically for SYSV shared memory segments. You would reserve an address space for the purpose and map that space into a region of any process using shared memory. If an app requests a map without specifying an address, just return the address of the segment in the shared region (otherwise map it as normal). Protection issues could be resolved using protection keys so that the VA range for a given segment was not available to an app until it successfully mapped the segment. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message