From: Steven J. Magnani Date: Wed, 24 Nov 2010 20:56:54 +0000 (-0800) Subject: nommu: yield CPU while disposing VM X-Git-Tag: firefly_0821_release~10186^2~663 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a9a275749034d3e23a7ed1ea8d784f1fe5a8d064;p=firefly-linux-kernel-4.4.55.git nommu: yield CPU while disposing VM commit 04c3496152394d17e3bc2316f9731ee3e8a026bc upstream. Depending on processor speed, page size, and the amount of memory a process is allowed to amass, cleanup of a large VM may freeze the system for many seconds. This can result in a watchdog timeout. Make sure other tasks receive some service when cleaning up large VMs. Signed-off-by: Steven J. Magnani Cc: Greg Ungerer Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- diff --git a/mm/nommu.c b/mm/nommu.c index ebb3154d84e4..406e8d47ce49 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -1615,6 +1615,7 @@ void exit_mmap(struct mm_struct *mm) mm->mmap = vma->vm_next; delete_vma_from_mm(vma); delete_vma(mm, vma); + cond_resched(); } kleave("");