From owner-freebsd-ia64 Wed Nov 7 1:43:23 2001 Delivered-To: freebsd-ia64@freebsd.org Received: from kayak.xcllnt.net (209-128-86-226.bayarea.net [209.128.86.226]) by hub.freebsd.org (Postfix) with ESMTP id EE52B37B405 for ; Wed, 7 Nov 2001 01:43:19 -0800 (PST) Received: from dhcp01.pn.xcllnt.net (dhcp01.pn.xcllnt.net [192.168.4.201]) by kayak.xcllnt.net (8.11.6/8.11.4) with ESMTP id fA79hJQ08067; Wed, 7 Nov 2001 01:43:19 -0800 (PST) (envelope-from marcel@kayak.pn.xcllnt.net) Received: (from marcel@localhost) by dhcp01.pn.xcllnt.net (8.11.6/8.11.3) id fA79h8s12656; Wed, 7 Nov 2001 01:43:08 -0800 (PST) (envelope-from marcel) Date: Wed, 7 Nov 2001 01:43:08 -0800 From: Marcel Moolenaar To: Peter Wemm Cc: Doug Rabson , ia64@FreeBSD.ORG Subject: Re: Region usage Message-ID: <20011107014307.A12510@dhcp01.pn.xcllnt.net> References: <20011106213623.4A56439F0@overcee.netplex.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20011106213623.4A56439F0@overcee.netplex.com.au> User-Agent: Mutt/1.3.21i 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 Tue, Nov 06, 2001 at 01:36:23PM -0800, Peter Wemm wrote: > Doug Rabson wrote: > > > This is not necessarily the ideal way to manage virtual addresses on ia64. > > For one thing, there are a limited number of possible address spaces which > > can be supported concurrently (itanium allows 2^18, the maximum that any > > implementation will allow is 2^24). Also, the default configuration for > > ld(1) forces the use of two regions (one for text, one for data) and we > > use a third for stack. This is pretty wasteful and leaves only two > > regions free for address space sharing. > > > > I can't see any real benefit for using more than one region for most > > programs. I think that probably the text section should default to region > > zero, offset maxpagesize (pick a value for this, 64k?) with the data > > section following in the natural way and the stack starting at the end of > > region zero. Does anyone know why the GNU folks chose to put the data > > sections in a different region from the text sections? > > For what its worth, we probably could put the stack in the top end of the > data segment region. I dont recall what granularity execute attributes > run at.. are they per-region or per-page? Per-page. I gave it some thought and I think we should not fill all RRs as Linux has. I'd like to have some space left in that area. A good seperation seems one based on page-size and scope. Something like: R0 - 32-bit applications; 4KB pages R1 - 64-bit applications; 8KB pages (or larger) R5 - VM; paged global; 8KB pages (or larger) R6 - uncached global; 256M pages; Id mapping R7 - cached global; 256M pages; Id mapping This leave R2, R3 and R4 unused for the moment. Possibilities (besides leaving them unused): o Reserve R2 for use by 64-bit applications so that R1 and R2 combined provide a 62-bit address space. o Reserve a region for SHM. Doug mentioned this as well. o Region for dynamic TLS (brainwave of mine) Since there might be unimplemented bits in the VA (and PA), combining text, data/heap and stack should work nicely, since both the heap and the stack grow toward the unimplemented address space. I see little advantage to have text, data/heap and stack be seperate regions, other than a nice side-effect while debugging (it's easy to see what an address references). The possibility of either of those segments taking up more than, say, 48 bits is very small ATM, although it's possible that I'm stuck in the a-couple-of-megabytes-is-large mindset and thus underestimate a typical "large" application. I'll double-check the various ia64 conventions tomorrow to see how the above fits in. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message