diff options
author | Nick Piggin <npiggin@suse.de> | 2010-01-29 15:38:31 -0800 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-04-27 17:32:49 +0200 |
commit | 6f22d55b46fbf80b018009ece79f15b8582843e5 (patch) | |
tree | 4623783cdf5b9c59482617f0a3437a852dc52e24 /include | |
parent | 20d3da9e29645abfba13536a82cf04a4076f9ce6 (diff) | |
download | lwn-6f22d55b46fbf80b018009ece79f15b8582843e5.tar.gz lwn-6f22d55b46fbf80b018009ece79f15b8582843e5.zip |
fs-inode_lock-scale-10
Impelemnt lazy inode lru similarly to dcache. This should reduce inode list
lock acquisition (todo: measure).
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fs.h | 7 | ||||
-rw-r--r-- | include/linux/writeback.h | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 3551528a25f6..b86542c8d68c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -2174,7 +2174,6 @@ extern int insert_inode_locked4(struct inode *, unsigned long, int (*test)(struc extern int insert_inode_locked(struct inode *); extern void unlock_new_inode(struct inode *); -extern void __iget(struct inode * inode); extern void iget_failed(struct inode *); extern void clear_inode(struct inode *); extern void destroy_inode(struct inode *); @@ -2393,6 +2392,12 @@ extern int generic_show_options(struct seq_file *m, struct vfsmount *mnt); extern void save_mount_options(struct super_block *sb, char *options); extern void replace_mount_options(struct super_block *sb, char *options); +static inline void __iget(struct inode *inode) +{ + assert_spin_locked(&inode->i_lock); + inode->i_count++; +} + static inline ino_t parent_ino(struct dentry *dentry) { ino_t res; diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 05479e576a77..15e8bcd90cd1 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -11,7 +11,6 @@ struct backing_dev_info; extern spinlock_t sb_inode_list_lock; extern spinlock_t wb_inode_list_lock; -extern struct list_head inode_in_use; extern struct list_head inode_unused; /* |