Re: Linux and lots of memory: documentation?

Alan Cox (alan@lxorguk.ukuu.org.uk)
Thu, 17 Dec 1998 18:51:47 +0000 (GMT)


> I've been able to find very little information regarding this topic, other
> than the comments in include/asm-i386/page.h. I was hoping you could point
> me towards a resource that might answer the following questions:
>
> (1) How is __PAGE_OFFSET actually used? The page.h comments aren't clear on
> this. They suggest *how* to change the value, but not *why*.

There is a big problem with the x86 architecture. Unless you start messing
around switching page tables all the time (which isnt cheap) you can't easily
access more than 4Gig combined physical+virtual address space.

__PAGE_OFFSET is the dividing line. By default its 3Gig virt 1 phys. If you
set it to 2/2 or 1/3 you get more physical ram but less virtual space per
process.

Xeons have 3 level page table support so there is longer term possibilities
to try and use this mode. At least up to 4gig it causes no big problems above
that the ISA DMA mess kicks in again but this time for PCI

> (3) Is it possible to make this process more modular? That is, is there
> any way to make Linux happily support whatever memory happens to
> be available?

Its being looked at but there are definite problems as to avoid a big
performance hit it means a kernel that patches itself at boot time, and
patching constant operations on a non risc cpu is grotesque.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/