summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/data.c
diff options
context:
space:
mode:
authorJaegeuk Kim2015-03-14 05:44:36 +0100
committerJaegeuk Kim2015-04-11 00:08:45 +0200
commit78373b7319abdf15050af5b1632c4c8b8b398f33 (patch)
treee4d8c016400ea53cd0a8a45984008b8f2c383190 /fs/f2fs/data.c
parentf2fs: set buffer_new when new blocks are allocated (diff)
downloadkernel-qcow2-linux-78373b7319abdf15050af5b1632c4c8b8b398f33.tar.gz
kernel-qcow2-linux-78373b7319abdf15050af5b1632c4c8b8b398f33.tar.xz
kernel-qcow2-linux-78373b7319abdf15050af5b1632c4c8b8b398f33.zip
f2fs: enhance multi-threads performance
Previously, f2fs_write_data_pages has a mutex, sbi->writepages, to serialize data writes to maximize write bandwidth, while sacrificing multi-threads performance. Practically, however, multi-threads environment is much more important for users. So this patch tries to remove the mutex. Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/data.c')
-rw-r--r--fs/f2fs/data.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 4a416e74bb2a..f0a18a005bda 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -1397,7 +1397,6 @@ static int f2fs_write_data_pages(struct address_space *mapping,
{
struct inode *inode = mapping->host;
struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
- bool locked = false;
int ret;
long diff;
@@ -1418,13 +1417,7 @@ static int f2fs_write_data_pages(struct address_space *mapping,
diff = nr_pages_to_write(sbi, DATA, wbc);
- if (!S_ISDIR(inode->i_mode)) {
- mutex_lock(&sbi->writepages);
- locked = true;
- }
ret = write_cache_pages(mapping, wbc, __f2fs_writepage, mapping);
- if (locked)
- mutex_unlock(&sbi->writepages);
f2fs_submit_merged_bio(sbi, DATA, WRITE);