f2fs: readahead for free nids building
authorChao Yu <chao2.yu@samsung.com>
Mon, 12 Oct 2015 09:07:33 +0000 (17:07 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 12 Oct 2015 21:03:22 +0000 (14:03 -0700)
commit2db2388fcf0d880bd7160264274ed873baec4f0d
tree4cf95d3b1f2a7fb42a9b5e834edaae717e2c1a0c
parent26879fb101f28c554294eaf25ac7817a2825b180
f2fs: readahead for free nids building

When there is no free nid in nid cache, all new node allocaters stop their
job to wait for reloading of free nids, however reloading is synchronous as
we will read 4 NAT pages for building nid cache, it cause the long latency.

This patch tries to readahead more NAT pages with READA request flag after
reloading of free nids. It helps to improve performance when users allocate
node id intensively.

Env: Sandisk 32G sd card
time for i in `seq 1 60000`; { echo -n > /mnt/f2fs/$i; echo XXXXXX > /mnt/f2fs/$i;}

Before:
real    0m2.814s
user    0m1.220s
sys     0m1.536s

After:
real    0m2.711s
user    0m1.136s
sys     0m1.568s

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/node.c