diff --git a/mm/mmap.c b/mm/mmap.c
index 59a4682ebf3faedb2cd00ec39656de3a40290050..972f839c6ec836bb8ef579feb17a4c2af01d4dac 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3159,6 +3159,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);
 }