using different format for hugetlbfs
Kumar Gala
galak at kernel.crashing.org
Sat Dec 5 01:09:32 EST 2009
On Dec 4, 2009, at 2:58 AM, Benjamin Herrenschmidt wrote:
> On Fri, 2009-12-04 at 01:18 -0600, Kumar Gala wrote:
>> Ben, David,
>>
>> If we want to support true 4G/4G split on ppc32 using the MSB of the
>> address to determine of the pgd_t is for hugetlbfs isn't going to
>> work. Since every pointer in the pgd_t -> pud_t -> pmd_t is point to
>> at least a 4K page I would think the low order 12-bits should always
>> be 0.
>
> On 32 bit maybe. On 64, the pg/u/md's can be smaller. I don't really
> want to have a different encoding for both types though.
What do you mean they can be smaller? We have some scenario when we
dont allocate a full page? I agree having the encodings be different
would be bad. I'm trying to avoid having it be different between 32
bit and 64 (but maybe that will be impossible).
>> Could we use something like:
>>
>> addr[0:51] || shift [52:59] || flags [60:63]
>>
>> with the LSB flag being 'normal pointer' vs 'hugetlbfs mangled
>> pointer'. Seems like shift will at most be 64 so 8-bits should cover
>> it.
>
> Cheers,
> Ben.
>
- k
More information about the Linuxppc-dev
mailing list