2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-18 02:04:05 +08:00
linux-next/fs/f2fs
Chao Yu b8559dc242 f2fs: split free nid list
During free nid allocation, in order to do preallocation, we will tag free
nid entry as allocated one and still leave it in free nid list, for other
allocators who want to grab free nids, it needs to traverse the free nid
list for lookup. It becomes overhead in scenario of allocating free nid
intensively by multithreads.

This patch splits free nid list to two list: {free,alloc}_nid_list, to
keep free nids and preallocated free nids separately, after that, traverse
latency will be gone, besides split nid_cnt for separate statistic.

Additionally, introduce __insert_nid_to_list and __remove_nid_from_list for
cleanup.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
[Jaegeuk Kim: modify f2fs_bug_on to avoid needless branches]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-11-23 12:11:00 -08:00
..
acl.c Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 13:04:49 -07:00
acl.h f2fs: remove dead code f2fs_check_acl 2016-09-14 16:52:36 -07:00
checkpoint.c f2fs: fix to release discard entries during checkpoint 2016-11-23 12:10:50 -08:00
data.c f2fs: be aware of extent beyond EOF in fiemap 2016-11-23 12:10:54 -08:00
debug.c f2fs: split free nid list 2016-11-23 12:11:00 -08:00
dir.c f2fs: fix sparse warnings 2016-11-23 12:10:57 -08:00
extent_cache.c f2fs: disable extent_cache for fcollapse/finsert inodes 2016-07-15 15:21:20 -07:00
f2fs.h f2fs: split free nid list 2016-11-23 12:11:00 -08:00
file.c f2fs: add missing f2fs_balance_fs in f2fs_zero_range 2016-11-23 12:10:52 -08:00
gc.c f2fs: give a chance to detach from dirty list 2016-11-23 12:10:51 -08:00
gc.h f2fs: detect idle time depending on user behavior 2016-01-11 15:56:37 -08:00
hash.c f2fs: introduce dot and dotdot name check 2015-05-28 15:41:34 -07:00
inline.c f2fs: fix sparse warnings 2016-11-23 12:10:57 -08:00
inode.c f2fs: clear nlink if fail to add_link 2016-11-23 12:10:59 -08:00
Kconfig f2fs: add mount option to select fault injection ratio 2016-05-07 10:32:22 -07:00
Makefile fs crypto: move per-file encryption from f2fs tree to fs/crypto 2016-03-17 21:19:33 -07:00
namei.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
node.c f2fs: split free nid list 2016-11-23 12:11:00 -08:00
node.h f2fs: split free nid list 2016-11-23 12:11:00 -08:00
recovery.c f2fs: introduce cp_lock to protect updating of ckpt_flags 2016-09-30 17:34:20 -07:00
segment.c f2fs: fix sparse warnings 2016-11-23 12:10:57 -08:00
segment.h f2fs: check free_sections for defragmentation 2016-09-12 10:30:41 -07:00
shrinker.c f2fs: split free nid list 2016-11-23 12:11:00 -08:00
super.c f2fs: fix to release discard entries during checkpoint 2016-11-23 12:10:50 -08:00
trace.c f2fs: use bio op accessors 2016-06-07 13:41:38 -06:00
trace.h f2fs: add sbi and page pointer in f2fs_io_info 2015-05-28 15:41:32 -07:00
xattr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 20:16:43 -07:00
xattr.h f2fs: add missing argument to f2fs_setxattr stub 2016-03-17 21:19:47 -07:00