|
@@ -1960,10 +1960,9 @@ int khugepaged_enter_vma_merge(struct vm_area_struct *vma,
|
|
|
* page fault if needed.
|
|
|
*/
|
|
|
return 0;
|
|
|
- if (vma->vm_ops)
|
|
|
+ if (vma->vm_ops || (vm_flags & VM_NO_THP))
|
|
|
/* khugepaged not yet working on file or special mappings */
|
|
|
return 0;
|
|
|
- VM_BUG_ON_VMA(vm_flags & VM_NO_THP, vma);
|
|
|
hstart = (vma->vm_start + ~HPAGE_PMD_MASK) & HPAGE_PMD_MASK;
|
|
|
hend = vma->vm_end & HPAGE_PMD_MASK;
|
|
|
if (hstart < hend)
|
|
@@ -2352,8 +2351,7 @@ static bool hugepage_vma_check(struct vm_area_struct *vma)
|
|
|
return false;
|
|
|
if (is_vma_temporary_stack(vma))
|
|
|
return false;
|
|
|
- VM_BUG_ON_VMA(vma->vm_flags & VM_NO_THP, vma);
|
|
|
- return true;
|
|
|
+ return !(vma->vm_flags & VM_NO_THP);
|
|
|
}
|
|
|
|
|
|
static void collapse_huge_page(struct mm_struct *mm,
|