Explorar el Código

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>
Andi Kleen hace 14 años
padre
commit
3ef8fd7f72
Se han modificado 1 ficheros con 2 adiciones y 0 borrados
  1. 2 0
      mm/migrate.c

+ 2 - 0
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));
 	pte = pte_mkold(mk_pte(new, vma->vm_page_prot));
 	if (is_write_migration_entry(entry))
 	if (is_write_migration_entry(entry))
 		pte = pte_mkwrite(pte);
 		pte = pte_mkwrite(pte);
+#ifdef CONFIG_HUGETLB_PAGE
 	if (PageHuge(new))
 	if (PageHuge(new))
 		pte = pte_mkhuge(pte);
 		pte = pte_mkhuge(pte);
+#endif
 	flush_cache_page(vma, addr, pte_pfn(pte));
 	flush_cache_page(vma, addr, pte_pfn(pte));
 	set_pte_at(mm, addr, ptep, pte);
 	set_pte_at(mm, addr, ptep, pte);