linux/fs/f2fs
Chao Yu 4ac912427c f2fs: introduce free nid bitmap
In scenario of intensively node allocation, free nids will be ran out
soon, then it needs to stop to load free nids by traversing NAT blocks,
in worse case, if NAT blocks does not be cached in memory, it generates
IOs which slows down our foreground operations.

In order to speed up node allocation, in this patch we introduce a new
free_nid_bitmap array, so there is an bitmap table for each NAT block,
Once the NAT block is loaded, related bitmap cache will be switched on,
and bitmap will be set during traversing nat entries in NAT block, later
we can query and update nid usage status in memory completely.

With such implementation, I expect performance of node allocation can be
improved in the long-term after filesystem image is mounted.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2017-02-27 10:07:47 -08:00
..
acl.c f2fs: keep dirty inodes selectively for checkpoint 2016-11-23 12:11:08 -08:00
acl.h f2fs: remove dead code f2fs_check_acl 2016-09-14 16:52:36 -07:00
checkpoint.c f2fs: new helper cur_cp_crc() getting crc in f2fs_checkpoint 2017-02-27 10:07:47 -08:00
data.c f2fs: show simple call stack in fault injection message 2017-02-27 09:59:55 -08:00
debug.c f2fs: introduce free nid bitmap 2017-02-27 10:07:47 -08:00
dir.c f2fs: show simple call stack in fault injection message 2017-02-27 09:59:55 -08:00
extent_cache.c f2fs: kill __is_extent_same 2017-02-27 10:07:43 -08:00
f2fs.h f2fs: introduce free nid bitmap 2017-02-27 10:07:47 -08:00
file.c f2fs: init local extent_info to avoid stale stack info in tp 2017-02-27 09:59:50 -08:00
gc.c f2fs: avoid bggc->fggc when enough free segments are avaliable after cp 2017-02-27 10:07:37 -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 for-f2fs-4.10 2016-12-14 09:07:36 -08:00
inode.c f2fs: show simple call stack in fault injection message 2017-02-27 09:59:55 -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 f2fs: don't allow encrypted operations without keys 2017-01-29 12:46:01 +09:00
node.c f2fs: introduce free nid bitmap 2017-02-27 10:07:47 -08:00
node.h f2fs: new helper cur_cp_crc() getting crc in f2fs_checkpoint 2017-02-27 10:07:47 -08:00
recovery.c f2fs: change recovery policy of xattr node block 2017-02-23 10:10:52 -08:00
segment.c f2fs: select target segment with closer temperature in SSR mode 2017-02-27 09:59:56 -08:00
segment.h f2fs: update the comment of default nr_pages to skipping 2017-02-27 10:07:46 -08:00
shrinker.c f2fs: avoid casted negative value as shrink count 2016-11-23 12:11:03 -08:00
super.c f2fs: enable inline_xattr by default 2017-02-23 10:21:49 -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 f2fs: drop the duplicate pval in f2fs_getxattr 2017-02-27 10:07:45 -08:00
xattr.h f2fs: enhance lookup xattr 2017-02-22 20:24:51 -08:00