linux/fs/f2fs
Chao Yu 1a118ccfd6 f2fs: use spinlock for segmap_lock instead of rwlock
rwlock can provide better concurrency when there are much more readers than
writers because readers can hold the rwlock simultaneously.

But now, for segmap_lock rwlock in struct free_segmap_info, there is only one
reader 'mount' from below call path:
->f2fs_fill_super
  ->build_segment_manager
    ->build_dirty_segmap
      ->init_dirty_segmap
        ->find_next_inuse
          read_lock
          ...
          read_unlock

Now that our concurrency can not be improved since there is no other reader for
this lock, we do not need to use rwlock_t type for segmap_lock, let's replace it
with spinlock_t type.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-02-11 17:04:51 -08:00
..
acl.c f2fs: fix a bug of inheriting default ACL from parent 2015-02-11 17:04:36 -08:00
acl.h f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00
checkpoint.c f2fs: fix sparse warnings 2015-02-11 17:04:49 -08:00
data.c f2fs: allocate data blocks in advance for f2fs_direct_IO 2015-02-11 17:04:49 -08:00
debug.c f2fs: avoid variable length array 2015-02-11 17:04:50 -08:00
dir.c f2fs: use missing the use of f2fs_kunmap_page 2015-01-09 17:02:22 -08:00
f2fs.h f2fs: fix sparse warnings 2015-02-11 17:04:49 -08:00
file.c f2fs: introduce macros to convert bytes and blocks in f2fs 2015-02-11 17:04:48 -08:00
gc.c f2fs: split UMOUNT and FASTBOOT flags 2015-02-11 17:04:41 -08:00
gc.h f2fs: fix sparse warnings 2015-02-11 17:04:49 -08:00
hash.c f2fs: fix wrong casting for dentry name 2014-08-29 00:26:50 -07:00
inline.c f2fs: make truncate_inline_date static 2015-02-11 17:04:37 -08:00
inode.c f2fs: get rid of kzalloc in __recover_inline_status 2015-01-09 17:02:27 -08:00
Kconfig f2fs: add f2fs_io_tracer support 2015-01-09 17:02:24 -08:00
Makefile f2fs: add f2fs_io_tracer support 2015-01-09 17:02:24 -08:00
namei.c f2fs: fix to use highmem for pages of newly created directory 2015-02-11 17:04:45 -08:00
node.c f2fs: fix accessing wrong indexed data blocks 2015-02-11 17:04:51 -08:00
node.h f2fs: free radix_tree_nodes used by nat_set entries 2015-01-09 17:02:28 -08:00
recovery.c f2fs: merge flags in struct f2fs_sb_info 2015-02-11 17:04:38 -08:00
segment.c f2fs: use spinlock for segmap_lock instead of rwlock 2015-02-11 17:04:51 -08:00
segment.h f2fs: use spinlock for segmap_lock instead of rwlock 2015-02-11 17:04:51 -08:00
super.c f2fs: introduce a batched trim 2015-02-11 17:04:44 -08:00
trace.c f2fs: fix sparse warnings 2015-02-11 17:04:49 -08:00
trace.h f2fs: add f2fs_destroy_trace_ios to free radix tree 2015-01-09 17:02:28 -08:00
xattr.c f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00
xattr.h f2fs: avoid deadlock on init_inode_metadata 2014-11-03 16:07:33 -08:00