diff options
author | Chao Yu <chao2.yu@samsung.com> | 2014-07-03 18:58:39 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2014-07-30 23:28:37 -0700 |
commit | b3582c68920105e29d219714d8a6fbde25a43379 (patch) | |
tree | 200ab9ca194921c8baad9954fee36eee072a772f /fs/f2fs/f2fs.h | |
parent | 65b85ccce03f17b3098273192b20885f3fead820 (diff) | |
download | lwn-b3582c68920105e29d219714d8a6fbde25a43379.tar.gz lwn-b3582c68920105e29d219714d8a6fbde25a43379.zip |
f2fs: reduce competition among node page writes
We do not need to block on ->node_write among different node page writers e.g.
fsync/flush, unless we have a node page writer from write_checkpoint.
So it's better use rw_semaphore instead of mutex type for ->node_write to
promote performance.
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/f2fs.h')
-rw-r--r-- | fs/f2fs/f2fs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h index 80c78695546d..99425675c2f8 100644 --- a/fs/f2fs/f2fs.h +++ b/fs/f2fs/f2fs.h @@ -452,7 +452,7 @@ struct f2fs_sb_info { struct inode *meta_inode; /* cache meta blocks */ struct mutex cp_mutex; /* checkpoint procedure lock */ struct rw_semaphore cp_rwsem; /* blocking FS operations */ - struct mutex node_write; /* locking node writes */ + struct rw_semaphore node_write; /* locking node writes */ struct mutex writepages; /* mutex for writepages() */ bool por_doing; /* recovery is doing or not */ wait_queue_head_t cp_wait; |