[PATCH] migration: make sure there is no attempt to migrate reserved pages.
This ensures that reserved pages are not migrated. Reserved pages currently cause the WARN_ON to trigger in migrate_page_add() Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
1bc691d357
commit
f4598c8b36
|
@ -208,6 +208,8 @@ static int check_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
|
||||||
page = vm_normal_page(vma, addr, *pte);
|
page = vm_normal_page(vma, addr, *pte);
|
||||||
if (!page)
|
if (!page)
|
||||||
continue;
|
continue;
|
||||||
|
if (PageReserved(page))
|
||||||
|
continue;
|
||||||
nid = page_to_nid(page);
|
nid = page_to_nid(page);
|
||||||
if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT))
|
if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT))
|
||||||
continue;
|
continue;
|
||||||
|
@ -290,7 +292,7 @@ static inline int check_pgd_range(struct vm_area_struct *vma,
|
||||||
static inline int vma_migratable(struct vm_area_struct *vma)
|
static inline int vma_migratable(struct vm_area_struct *vma)
|
||||||
{
|
{
|
||||||
if (vma->vm_flags & (
|
if (vma->vm_flags & (
|
||||||
VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP))
|
VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP|VM_RESERVED))
|
||||||
return 0;
|
return 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue