diff options
| author | Chao Yu <yuchao0@huawei.com> | 2018-05-23 22:25:09 +0800 |
|---|---|---|
| committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2018-07-08 17:46:36 -0700 |
| commit | ed74404955cd8eeaa41ff1aa57a5af6f8e6f62a8 (patch) | |
| tree | 30ee89e54857c34660b5ea70634454b9580b1760 | |
| parent | 91e7d9d2ddbfda40393c8400e3d0b4852ea3c6d0 (diff) | |
f2fs: detect synchronous writeback more earlier
This patch changes to detect synchronous writeback more earlier before,
in order to avoid unnecessary page writeback before exiting asynchronous
writeback.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
| -rw-r--r-- | fs/f2fs/data.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 02be804b1226..9deff7960bb2 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -1978,6 +1978,13 @@ retry: struct page *page = pvec.pages[i]; bool submitted = false; + /* give a priority to WB_SYNC threads */ + if (atomic_read(&F2FS_M_SB(mapping)->wb_sync_req) && + wbc->sync_mode == WB_SYNC_NONE) { + done = 1; + break; + } + done_index = page->index; retry_write: lock_page(page); @@ -2032,9 +2039,7 @@ continue_unlock: last_idx = page->index; } - /* give a priority to WB_SYNC threads */ - if ((atomic_read(&F2FS_M_SB(mapping)->wb_sync_req) || - --wbc->nr_to_write <= 0) && + if (--wbc->nr_to_write <= 0 && wbc->sync_mode == WB_SYNC_NONE) { done = 1; break; |
