summaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorJaegeuk Kim2014-03-03 03:28:40 +0100
committerJaegeuk Kim2014-03-03 03:28:40 +0100
commitc81bf1c84f6924678d088d68e131ff1f4d2d9002 (patch)
tree0cc16f1a1baa738e97fab5df5f3607a92a4f6cba /fs/f2fs
parentf2fs: fix dirty page accounting when redirty (diff)
downloadkernel-qcow2-linux-c81bf1c84f6924678d088d68e131ff1f4d2d9002.tar.gz
kernel-qcow2-linux-c81bf1c84f6924678d088d68e131ff1f4d2d9002.tar.xz
kernel-qcow2-linux-c81bf1c84f6924678d088d68e131ff1f4d2d9002.zip
f2fs: fix to write node pages with WRITE_SYNC
This patch fixes performance regression of dbench reported by Alex <hbx7d@yandex.com>. This issue was revealed by Phoronix tests results: http://www.phoronix.com/scan.php?page=article&item=linux_314_ssdfs&num=2 It turns out that we need to assign WRITE_SYNC to the node writes, if fsync is triggered. The performance numbers are like below, which is measured by Alex. 1. 355MB/s ext4 2. 225MB/s f2fs : WRITE for node writes 3. 525MB/s f2fs : WRITE_SYNC for node writes Reported-And-Tested-by: Alex <hbx7d@yandex.com>. Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index 00f937ec4794..a4cc1d6bdd84 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -115,7 +115,7 @@ int f2fs_sync_file(struct file *file, loff_t start, loff_t end, int datasync)
int ret = 0;
bool need_cp = false;
struct writeback_control wbc = {
- .sync_mode = WB_SYNC_NONE,
+ .sync_mode = WB_SYNC_ALL,
.nr_to_write = LONG_MAX,
.for_reclaim = 0,
};