Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Jun 2001 16:46:53 -0500
From:      Andy Isaacson <adi@hexapodia.org>
To:        Dag-Erling Smorgrav <des@ofug.org>
Cc:        John Baldwin <jhb@FreeBSD.org>, cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   Re: cvs commit: src/sys/i386/i386 machdep.c
Message-ID:  <20010625164653.B12871@hexapodia.org>
In-Reply-To: <xzp7ky0cttj.fsf@flood.ping.uio.no>; from des@ofug.org on Mon, Jun 25, 2001 at 08:12:24PM %2B0200
References:  <XFMail.010625121654.jhb@FreeBSD.org> <xzp7ky0cttj.fsf@flood.ping.uio.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 25, 2001 at 08:12:24PM +0200, Dag-Erling Smorgrav wrote:
> John Baldwin <jhb@FreeBSD.org> writes:
> > Err, no. :)  The process only sees 4gb of space.  Period.  The address that
> > gets sent to the MMU before the page table lookups (but after the segment
> > translation) is 32bits.  Not 36, just 32.  You can't make a 32-bit address
> > acccess more than 4 gig of virtual address space, that's just all there is
> > to it.
> 
> I think Andy's point is that the kernel could take advantage of the
> additional memory to cache a larger portion of the data set, even if
> the app weren't able to access it all at the same time.  The app would
> do just what it would normally do with such a large dataset, i.e. map
> bits of it in and out of its address space (using mmap() and munmap())
> preferably on some sort of LRU basis - business as usual - but the
> kernel would be able to keep at least some of what doesn't fit in the
> app's address space in memory.

Precisely.  Interestingly, in my tests on IRIX (the only machine I have
access to with enough memory to test these concepts) my test app spends
much (27%) of its time in the kernel.  Since I was using 512-MB
segments, I was probably exceeding the per-node memory on the O2k in
question and making the kernel copy pages out of remote memory (or else
it was spending all its time handling page table updates); furthermore,
on such a machine I should just compile "cc -64" and be done with it.

-andy

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




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