Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Nov 2002 00:39:53 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Richard Sharpe <rsharpe@ns.aus.com>
Cc:        Matt <mattl3@earthlink.net>, hackers@FreeBSD.ORG
Subject:   Re: max phy mem known working with FreeBSD 4.x
Message-ID:  <3DC783D9.1511B859@mindspring.com>
References:  <Pine.LNX.4.33.0211051916580.4835-100000@ns.aus.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Richard Sharpe wrote:
> Well, the P4 does have an address extension that allows addressing of up
> to 64GB, EPA or something like that.

This is useless to discuss in the context of 4.3, or even 4.x,
unless Paul Saab is doing his work in 4.7, and it makes it
into 4.8.  Given that we are pretty much forced to do all new
work 0n -current in order to get committed (or everyone would
be working on 4.x instead), it'll end up a forward port with
no back-port (expect it after the 5.x release, if Yahoo gives
it back to FreeBSD).


> However, it requires some work. Would be nice in large Samba servers,
> though, to be able to cache enormous amounts of file data :-)

It would be useless for this purpose.

Specifically, you would need to guarantee a locality of reference
for clients that you could not guarantee, for this to be useful at
all.  Mostly, you would be swapping the PSE window around all the
time, shooting down TLB's and cache lines, and you would burn up
any benefits of having the data in main RAM instead of in RAM on
the disk controller or the disk itself, very quickly.

In addition, you would not be able to use "sendfile" or similar
interfaces, and you would not be able to use scatter/gather DMA,
unless you knew for certain that the card doing the DMA had 64 bit
access to physical RAM.  Otherwise, you would need to copy all data
to be DMA'ed to/from any physical RAM above 4G to bounce buffers
below 4G.  The extra copying might as well be from the controller
RAM or the RAM on the disk itself, than from/to RAM above 4G.

The 2G limit on Alpha is basically the same issue, where the data
needs to be bounced through lower memory in order to be accessible
to the hardware DMA engines on the other side of the PCI bus (hence
the need to convert the drivers to "bus space" to be able to use
more than 2G in an Alpha box).

Basically, the extra RAM makes assumptions about code that make us
all realize that hardware designers don't really ask software
designers why they ask for things like the ability to access more
than 4G of RAM.  8-).

If you want to discuss this further, please read the archives of
the last 3 times the issue was discusees, on the -current and
-arch lists.

No matter how you look at it, though, unless you pay some schmuck
to do the work, you're never going to see this in 4.3 anyway, so
you might as well move the discussion over to the -current list.

-- Terry

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DC783D9.1511B859>