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