[PATCH] f2fs: avoid cpu lockup

From: Jaegeuk Kim
Date: Fri Jul 14 2017 - 21:22:54 EST


Before retrying to flush data or dentry pages, we need to release cpu in order
to prevent watchdog.

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

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;
}

--
2.13.0.rc1.294.g07d810a77f-goog