Re: x86 question: Can a process have > 3GB memory?

From: Linus Torvalds (torvalds@transmeta.com)
Date: Fri May 10 2002 - 14:41:44 EST


In article <E176GHv-0006ee-00@the-village.bc.nu>,
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>> kernel. It would be possible to allow program access to this RAM, although
>> both Kernel and gcc support would be needed. M$ had "huge" memory models
>> to go over 64k in the old 8086 days, doing loads of segment registers.
>
>Alas that is not quite the case. You still have a 4Gb virtual address
>space. If you want > 32bits, get a > 32bit processor. This one isnt as
>simple as add segmentation and 'large model'

Well, you _could_ use the P bit on the segments and "page" them in on
demand with mmap. That would get you a model very similar to the old
16-big large model: no single object can be bigger than 2GB, but you can
have a total object size of something like 40 bits.

No kernel support needed, actually. It's all there with the LDT stuff.

But yes, compiler support and a recompiled glibc. And it would break all
programs that assume a flat address space.

And it would really _suck_ performance-wise if your working set is big
enough to cause you to have to switch mmap's a lot.

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



This archive was generated by hypermail 2b29 : Tue May 14 2002 - 12:00:14 EST