Skip site navigation (1)Skip section navigation (2)
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>