On Mon, Apr 29, 2013 at 01:07:30AM +0530, Aneesh Kumar K.V wrote: > From: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> > > We will be switching PMD_SHIFT to 24 bits to facilitate THP impmenetation. > With PMD_SHIFT set to 24, we now have 16MB huge pages allocated at PGD level. > That means with 32 bit process we cannot allocate normal pages at > all, because we cover the entire address space with one pgd entry. Fix this > by switching to a new page table format for hugepages. With the new page table > format for 16GB and 16MB hugepages we won't allocate hugepage directory. Instead > we encode the PTE information directly at the directory level. This forces 16MB > hugepage at PMD level. This will also make the page take walk much simpler later > when we add the THP support. > > With the new table format we have 4 cases for pgds and pmds: > (1) invalid (all zeroes) > (2) pointer to next table, as normal; bottom 6 bits == 0 > (3) leaf pte for huge page, bottom two bits != 00 > (4) hugepd pointer, bottom two bits == 00, next 4 bits indicate size > of table > > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Mostly ok, except that in several pages your comments imply you have 16M and 16M page directory levels, but you haven't actually made that change yet. -- 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
Attachment:
signature.asc
Description: Digital signature