diff mbox

f2fs: avoid cpu lockup

Message ID 20170715012245.24640-1-jaegeuk@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Jaegeuk Kim July 15, 2017, 1:22 a.m. UTC
Before retrying to flush data or dentry pages, we need to release cpu in order
to prevent watchdog.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
---
 fs/f2fs/checkpoint.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 56bbf592e487..c96913c56f6c 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -909,8 +909,11 @@  int sync_dirty_inodes(struct f2fs_sb_info *sbi, enum inode_type type)
 		 * wribacking dentry pages in the freeing inode.
 		 */
 		f2fs_submit_merged_write(sbi, DATA);
-		cond_resched();
 	}
+	/* We need to give a chance to get cpu for user file writers. */
+	if (!is_dir)
+		congestion_wait(BLK_RW_ASYNC, HZ/50);
+	cond_resched();
 	goto retry;
 }