Re: [PATCH] x86: set PAE PHYSICAL_MASK_SHIFT to match 64-bit

From: Jeremy Fitzhardinge
Date: Fri Jun 06 2008 - 04:00:19 EST


Andi Kleen wrote:
Jeremy Fitzhardinge <jeremy@xxxxxxxx> writes:
The 46-bit mask used in 64-bit seems pretty arbitrary.

The rationale for the 46 bits is that the kernel needs roughly 4x as much virtual space as physical space and the virtual space is limited
to 48bits.

To be exact 47 bits is always user space and the 47 bits remaining
for the kernel are split into half, with one half for the direct mapping
and the other half for random mappings. With some pushing you could
extend it to 46.5 bits or so, but beyond that you'll be in trouble.

Why's that? Is the issue the amount of memory needed for pagetables and page structures if you did have more than 2^48 bytes of physical memory?

It's not arbitrary at all.
I didn't say it was. That was the introduction to my explanation of why I didn't think it was arbitrary. Of course, if there had been a comment there explaining the rationale, I wouldn't have had to make one up...

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