f2fs: support fast lookup in extent cache
authorChao Yu <chao2.yu@samsung.com>
Thu, 5 Feb 2015 10:01:39 +0000 (18:01 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 3 Mar 2015 17:58:47 +0000 (09:58 -0800)
commit62c8af651b37490c18a42c02586fa6a4fb39320a
treea86e61b8e2d691f54db3208b6e77d25e25b1ec8b
parent1ec4610c522cc51219cc022ef120a928828fa934
f2fs: support fast lookup in extent cache

This patch adds a fast lookup path for rb-tree extent cache.

In this patch we add a recently accessed extent node pointer 'cached_en' in
extent tree. In lookup path of extent cache, we will firstly lookup the last
accessed extent node which cached_en points, if we do not hit in this node,
we will try to lookup extent node in rb-tree.

By this way we can avoid unnecessary slow lookup in rb-tree sometimes.

Note that, side-effect of this patch is that we will increase memory cost,
because we will store a pointer variable in each struct extent tree
additionally.

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