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

Jeremy Fitzhardinge
2008-06-06T08:16:44Z

Jan Beulich wrote:
>>>> Jeremy Fitzhardinge <jeremy@goop.org> 06.06.08 09:59 >>>
>>>>
>> Andi Kleen wrote:
>>
>>> Jeremy Fitzhardinge <jeremy@goop.org> 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?
>>
>
> No, it's the fact that the 1:1 mapping needs as much virtual space as
> the physical range covered (including all holes).

Right, I see. And suddenly 64-bits seems... constrained. ;)

J