]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitf6223a7368667c442ba522b1bc82b5b4394a5020
tree9531c202c6b3f67fba1cd7ac2b83fa32c31fe197
parent6b55a9f9d48143d53a5ce3aed54bd2a1f693d4f0
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