Subject: Re: using different format for hugetlbfs

From: David Gibson <[email-masked]>
Date: Tue, 8 Dec 2009 13:28:55 +1100

On Mon, Dec 07, 2009 at 12:04:37PM +1100, Benjamin Herrenschmidt wrote:
> 
> > 
> > Even than, does that preclude the format I suggested?  I'm assuming  
> > that pgd_t/pud_t/pmd_t are always a double word so the low order 4- 
> > bits should be 0 (on 64-bit),

Double word alignment only gives us 3 low bits.

> so using the lsb as the flag between  
> > hugetlb and normal pointer should still work.
> 
> Might do, depends if David has enough bits ...  David ?

Well, the flag can go at the bottom, but that will mean grabbing more
bits at the bottom.  At the moment to cover all the page table sizes
that are wanted on the various setups we have, I need 5 bits, this
would push it to 6.  At present, I just force up the minimum alignment
of any page directory (even if it's natural alignment is smaller) so
as to make sure I have those bits.  That's pretty easy to adjust, but
pushing it up too high will start wasting memory, of course.

If we move to a variable sized encoding, as Ben and I have discussed
on a couple of occasions, I think we could do this though.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson