Subject: khugepaged vma merge From: Andrea Arcangeli register in khugepaged if the vma grows. Signed-off-by: Andrea Arcangeli --- diff --git a/mm/mmap.c b/mm/mmap.c --- a/mm/mmap.c +++ b/mm/mmap.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -806,6 +807,7 @@ struct vm_area_struct *vma_merge(struct end, prev->vm_pgoff, NULL); if (err) return NULL; + khugepaged_enter_vma_merge(prev); return prev; } @@ -824,6 +826,7 @@ struct vm_area_struct *vma_merge(struct next->vm_pgoff - pglen, NULL); if (err) return NULL; + khugepaged_enter_vma_merge(area); return area; } @@ -1752,6 +1755,7 @@ int expand_upwards(struct vm_area_struct vma->vm_end = address; } vma_unlock_anon_vma(vma); + khugepaged_enter_vma_merge(vma); return error; } #endif /* CONFIG_STACK_GROWSUP || CONFIG_IA64 */ @@ -1798,6 +1802,7 @@ static int expand_downwards(struct vm_ar } } vma_unlock_anon_vma(vma); + khugepaged_enter_vma_merge(vma); return error; }