summaryrefslogtreecommitdiff
path: root/mm/migrate.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2010-10-11 16:03:21 +0200
committerAndi Kleen <ak@linux.intel.com>2010-10-11 16:57:39 +0200
commit3ef8fd7f720fc4f462fcdcae2fcde6f1c0536bfe (patch)
tree05d6f2c62c9c00c0ab717f6a14a449684f3441d3 /mm/migrate.c
parentf672b49b07a4a152fc4251f2aec6b4d05164c4cd (diff)
downloadlwn-3ef8fd7f720fc4f462fcdcae2fcde6f1c0536bfe.tar.gz
lwn-3ef8fd7f720fc4f462fcdcae2fcde6f1c0536bfe.zip
Fix migration.c compilation on s390
31bit s390 doesn't have huge pages and failed with: > mm/migrate.c: In function 'remove_migration_pte': > mm/migrate.c:143:3: error: implicit declaration of function 'pte_mkhuge' > mm/migrate.c:143:7: error: incompatible types when assigning to type 'pte_t' from type 'int' Put that code into a ifdef. Reported by Heiko Carstens Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'mm/migrate.c')
-rw-r--r--mm/migrate.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/migrate.c b/mm/migrate.c
index 55dbc45880c6..f8c9bccf2520 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -139,8 +139,10 @@ static int remove_migration_pte(struct page *new, struct vm_area_struct *vma,
pte = pte_mkold(mk_pte(new, vma->vm_page_prot));
if (is_write_migration_entry(entry))
pte = pte_mkwrite(pte);
+#ifdef CONFIG_HUGETLB_PAGE
if (PageHuge(new))
pte = pte_mkhuge(pte);
+#endif
flush_cache_page(vma, addr, pte_pfn(pte));
set_pte_at(mm, addr, ptep, pte);