aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/gc.h
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2014-12-29 15:56:18 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2015-01-09 17:02:26 -0800
commit062920734c0de9dd4f0a9bdc36fdcabc2751eb34 (patch)
tree98d5a6d3813a539205b40209d5e9a34a22e0d2aa /fs/f2fs/gc.h
parentf2fs: cleanup parameters for trace_f2fs_submit_{read_,write_,page_,page_m}bio with fio (diff)
downloadlinux-dev-062920734c0de9dd4f0a9bdc36fdcabc2751eb34.tar.xz
linux-dev-062920734c0de9dd4f0a9bdc36fdcabc2751eb34.zip
f2fs: reuse inode_entry_slab in gc procedure for using slab more effectively
There are two slab cache inode_entry_slab and winode_slab using the same structure as below: struct dir_inode_entry { struct list_head list; /* list head */ struct inode *inode; /* vfs inode pointer */ }; struct inode_entry { struct list_head list; struct inode *inode; }; It's a little waste that the two cache can not share their memory space for each other. So in this patch we remove one redundant winode_slab slab cache, then use more universal name struct inode_entry as remaining data structure name of slab, finally we reuse the inode_entry_slab to store dirty dir item and gc item for more effective. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/gc.h')
-rw-r--r--fs/f2fs/gc.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/f2fs/gc.h b/fs/f2fs/gc.h
index 6ff7ad38463e..524543a6a34a 100644
--- a/fs/f2fs/gc.h
+++ b/fs/f2fs/gc.h
@@ -35,16 +35,13 @@ struct f2fs_gc_kthread {
unsigned int gc_idle;
};
-struct inode_entry {
- struct list_head list;
- struct inode *inode;
-};
-
struct gc_inode_list {
struct list_head ilist;
struct radix_tree_root iroot;
};
+extern struct kmem_cache *inode_entry_slab;
+
/*
* inline functions
*/