diff --git a/mm/mmap.c b/mm/mmap.c
index a906c387f744788f9b77497db37438b4ae497cb4..fd1b27b82f5ab47bfa04d6cdc0b0ae7a86297a75 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3137,6 +3137,7 @@ void exit_mmap(struct mm_struct *mm)
 		if (vma->vm_flags & VM_ACCOUNT)
 			nr_accounted += vma_pages(vma);
 		vma = remove_vma(vma);
+		cond_resched();
 	}
 	vm_unacct_memory(nr_accounted);
 }