Re: [patch 2/6] CONFIG_HIGHPTE vs. sub-page page tables.

Benjamin Herrenschmidt
2007-10-25T20:47:00Z

> Solution: The only solution I found to this dilemma is a new typedef:
> a pgtable_t. For s390 pgtable_t will be a (pte *) - to be introduced
> with a later patch. For everybody else it will be a (struct page *).
> The additional problem with the initialization of the ptl lock and the
> NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor
> and a destructor pgtable_page_dtor. The page table allocation and free
> functions need to call these two whenever a page table page is allocated
> or freed. pmd_populate will get a pgtable_t instead of a struct page
> pointer. To get the pgtable_t back from a pmd entry that has been
> installed with pmd_populate a new function pmd_pgtable is added. It
> replaces the pmd_page call in free_pte_range and apply_to_pte_range.
>
> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
> ---

Interesting. That means I don't need to have a PTE page to be a struct
page anymore ? I can have good use for that on powerpc as well...

Cheers,
Ben.