Date: Tue, 6 Nov 2001 20:30:44 -0800 From: Marcel Moolenaar <marcel@xcllnt.net> To: Doug Rabson <dfr@nlsystems.com> Cc: ia64@FreeBSD.ORG Subject: Re: Region usage Message-ID: <20011106203044.A569@dhcp01.pn.xcllnt.net> In-Reply-To: <Pine.BSF.4.33.0111061712520.79195-100000@herring.nlsystems.com> References: <Pine.BSF.4.33.0111061712520.79195-100000@herring.nlsystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011106203044.A569>