aboutsummaryrefslogtreecommitdiffstats
path: root/mm/pgtable-generic.c
diff options
context:
space:
mode:
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>2013-06-05 20:14:02 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-06-20 02:55:07 -0400
commit6b0b50b0617fad5f2af3b928596a25f7de8dbf50 (patch)
treeaf777bf2041da281fff0ecf9503ed421ee8591ec /mm/pgtable-generic.c
parent8663890a9e9278623d20c67aa9fbeeb31ff3be97 (diff)
mm/THP: add pmd args to pgtable deposit and withdraw APIs
This will be later used by powerpc THP support. In powerpc we want to use pgtable for storing the hash index values. So instead of adding them to mm_context list, we would like to store them in the second half of pmd Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Reviewed-by: Andrea Arcangeli <aarcange@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'mm/pgtable-generic.c')
-rw-r--r--mm/pgtable-generic.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c
index 0c8323fe6c8f..e1a6e4fab016 100644
--- a/mm/pgtable-generic.c
+++ b/mm/pgtable-generic.c
@@ -124,7 +124,8 @@ void pmdp_splitting_flush(struct vm_area_struct *vma, unsigned long address,
124 124
125#ifndef __HAVE_ARCH_PGTABLE_DEPOSIT 125#ifndef __HAVE_ARCH_PGTABLE_DEPOSIT
126#ifdef CONFIG_TRANSPARENT_HUGEPAGE 126#ifdef CONFIG_TRANSPARENT_HUGEPAGE
127void pgtable_trans_huge_deposit(struct mm_struct *mm, pgtable_t pgtable) 127void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
128 pgtable_t pgtable)
128{ 129{
129 assert_spin_locked(&mm->page_table_lock); 130 assert_spin_locked(&mm->page_table_lock);
130 131
@@ -141,7 +142,7 @@ void pgtable_trans_huge_deposit(struct mm_struct *mm, pgtable_t pgtable)
141#ifndef __HAVE_ARCH_PGTABLE_WITHDRAW 142#ifndef __HAVE_ARCH_PGTABLE_WITHDRAW
142#ifdef CONFIG_TRANSPARENT_HUGEPAGE 143#ifdef CONFIG_TRANSPARENT_HUGEPAGE
143/* no "address" argument so destroys page coloring of some arch */ 144/* no "address" argument so destroys page coloring of some arch */
144pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm) 145pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
145{ 146{
146 pgtable_t pgtable; 147 pgtable_t pgtable;
147 148