Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Jan 2003 16:33:23 -0800
From:      Peter Wemm <peter@wemm.org>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        David Schultz <dschultz@uclink.Berkeley.EDU>, "Andrew R. Reiter" <arr@watson.org>, Scott Long <scott_long@btc.adaptec.com>, arch@FreeBSD.ORG
Subject:   Re: PAE (was Re: bus_dmamem_alloc_size()) 
Message-ID:  <20030131003323.B42622A8A1@canning.wemm.org>
In-Reply-To: <3E3922DA.55D9CDE9@mindspring.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote:
> David Schultz wrote:
> > Thus spake Terry Lambert <tlambert2@mindspring.com>:
> > > "Andrew R. Reiter" wrote:
> > > > Anyone know the status of PAE in fBSD?  I heard rumors awhile back that
> > > > people had patches, or Y! had patches... but has anyone actually coughe
    d
> > > > them up?
> > >
> > > Contact Paul Saab.
> > 
> > A year ago, the rumor was that DG was eventually going to do it.
> > Six months ago it was Peter Wemm.  And now Paul Saab?!  Sheesh.
> > Why don't we just wait another few years so 64-bit machines solve
> > all our problems and we don't have to hack up the VM system?  ;-)
> 
> PSE36 is more intelligent than PAE, but neither one are very smart;
> they were put there by hardware people who thought that what software
> people wanted was more processes in RAM, not more RAM in individual
> processes.  As such, they are a generally bad idea.  Most people
> asking the question seem to have bought into the hardware people's
> picture of the universe, without understanding that.  8-(.

I beg to differ about PSE36.  Since it still runs on 32 bit page tables,
all PSE36 does is enable 4MB mappings that are targeted at above the 4G
bounrary.  It does this by shifting the PTD entries for 4MB pages across
by 4 bits in order to squeeze the extra bits in.

For some things this would be useful.  But remember you can *only* use
it in 4MB chunks.  Our VM system isn't geared for that and we'd have
to come up with an infrastructure to somehow get it to within reach of
userland.  Maybe it could be used to provide backing store for things
like system V shared memory, but the lack of size granularity would make
it interesting.  And since its 4MB chunks, forget paging and mmap etc.
PSE36 really treats memory above 4G as second-class.

On the other hand, PAE treats all memory as "first class" and is useable
everywhere.  The cost is that you need to do 64 bit idempotent writes to
the page tables if you ever want to use it on SMP.  But at least it
can be used for page cache, generic process data, malloc etc etc.

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030131003323.B42622A8A1>