From owner-freebsd-ia64 Tue Nov 6 20:30:44 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 74B7C37B405 for ; Tue, 6 Nov 2001 20:30:41 -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 fA74UeQ07578; Tue, 6 Nov 2001 20:30:41 -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 fA74Uie00932; Tue, 6 Nov 2001 20:30:44 -0800 (PST) (envelope-from marcel) Date: Tue, 6 Nov 2001 20:30:44 -0800 From: Marcel Moolenaar To: Doug Rabson Cc: ia64@FreeBSD.ORG Subject: Re: Region usage Message-ID: <20011106203044.A569@dhcp01.pn.xcllnt.net> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 05:33:00PM +0000, Doug Rabson wrote: > As a quick intro for people new to the architecture, the ia64 VM system > defines eight independent regions, selected by the top three bits of the > virtual address. Each region is essentially a window onto a 61-bit unique > address space - the address space which is mapped depends on the setting > of the appropriate region register (one per region, of course). You can also think of it as a 85-bit virtual address space. Each region selects a 61-bit window within that address space. > 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? This is probably an HP heritage. PA-RISC has the same concept of regions and given the history of ia64 it's logical to be in ia64. HP-UX has the same layout, although their VM probably depends on it more than Linux' or ours. > Note that defaulting to this layout would not stop processes from using > the rest of the address space if they need to - just mmap or whatever as > needed. What it does do is free up as many regions as possible for > application-specific address space sharing (e.g. Oracle). > > Comments? Ideas? I'll think about it. Let me read Peter's reply as well and collect some info... There's one thing we definitely must do: use the PID for the RID to avoid TLB flushes... -- 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