diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
index 0ff2f1ddf9eff3f55169878f859d53a94fdcc46f..fc70107740ab7392e94c239e060ba8ef4fb9d20c 100644
--- a/fs/proc/vmcore.c
+++ b/fs/proc/vmcore.c
@@ -397,6 +397,8 @@ static ssize_t __read_vmcore(char *buffer, size_t buflen, loff_t *fpos,
 			if (buflen == 0)
 				return acc;
 		}
+
+		cond_resched();
 	}
 
 	return acc;