arch/tile: allow building Linux with transparent huge pages enabled
authorChris Metcalf <cmetcalf@tilera.com>
Wed, 28 Mar 2012 17:59:18 +0000 (13:59 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Fri, 25 May 2012 16:48:21 +0000 (12:48 -0400)
commit73636b1aacb1a07e6fbe0d25e560e69b024a8e25
tree9531c202c6b3f67fba1cd7ac2b83fa32c31fe197
parent51007004f44c9588d70ffb77e1f52479bd5b0e37
arch/tile: allow building Linux with transparent huge pages enabled

The change adds some infrastructure for managing tile pmd's more generally,
using pte_pmd() and pmd_pte() methods to translate pmd values to and
from ptes, since on TILEPro a pmd is really just a nested structure
holding a pgd (aka pte).  Several existing pmd methods are moved into
this framework, and a whole raft of additional pmd accessors are defined
that are used by the transparent hugepage framework.

The tile PTE now has a "client2" bit.  The bit is used to indicate a
transparent huge page is in the process of being split into subpages.

This change also fixes a generic bug where the return value of the
generic pmdp_splitting_flush() was incorrect.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/include/asm/pgtable.h
arch/tile/include/asm/pgtable_32.h
arch/tile/include/asm/pgtable_64.h
arch/tile/include/hv/hypervisor.h
include/asm-generic/pgtable.h
mm/pgtable-generic.c