diff options
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index 939584648504..19458d399502 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -34,9 +34,8 @@ | |||
34 | #include <linux/swap.h> | 34 | #include <linux/swap.h> |
35 | #include <linux/bootmem.h> | 35 | #include <linux/bootmem.h> |
36 | 36 | ||
37 | /* #define DCACHE_DEBUG 1 */ | ||
38 | 37 | ||
39 | int sysctl_vfs_cache_pressure = 100; | 38 | int sysctl_vfs_cache_pressure __read_mostly = 100; |
40 | EXPORT_SYMBOL_GPL(sysctl_vfs_cache_pressure); | 39 | EXPORT_SYMBOL_GPL(sysctl_vfs_cache_pressure); |
41 | 40 | ||
42 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(dcache_lock); | 41 | __cacheline_aligned_in_smp DEFINE_SPINLOCK(dcache_lock); |
@@ -44,7 +43,7 @@ static seqlock_t rename_lock __cacheline_aligned_in_smp = SEQLOCK_UNLOCKED; | |||
44 | 43 | ||
45 | EXPORT_SYMBOL(dcache_lock); | 44 | EXPORT_SYMBOL(dcache_lock); |
46 | 45 | ||
47 | static kmem_cache_t *dentry_cache; | 46 | static kmem_cache_t *dentry_cache __read_mostly; |
48 | 47 | ||
49 | #define DNAME_INLINE_LEN (sizeof(struct dentry)-offsetof(struct dentry,d_iname)) | 48 | #define DNAME_INLINE_LEN (sizeof(struct dentry)-offsetof(struct dentry,d_iname)) |
50 | 49 | ||
@@ -59,9 +58,9 @@ static kmem_cache_t *dentry_cache; | |||
59 | #define D_HASHBITS d_hash_shift | 58 | #define D_HASHBITS d_hash_shift |
60 | #define D_HASHMASK d_hash_mask | 59 | #define D_HASHMASK d_hash_mask |
61 | 60 | ||
62 | static unsigned int d_hash_mask; | 61 | static unsigned int d_hash_mask __read_mostly; |
63 | static unsigned int d_hash_shift; | 62 | static unsigned int d_hash_shift __read_mostly; |
64 | static struct hlist_head *dentry_hashtable; | 63 | static struct hlist_head *dentry_hashtable __read_mostly; |
65 | static LIST_HEAD(dentry_unused); | 64 | static LIST_HEAD(dentry_unused); |
66 | 65 | ||
67 | /* Statistics gathering. */ | 66 | /* Statistics gathering. */ |
@@ -603,10 +602,6 @@ resume: | |||
603 | */ | 602 | */ |
604 | if (!list_empty(&dentry->d_subdirs)) { | 603 | if (!list_empty(&dentry->d_subdirs)) { |
605 | this_parent = dentry; | 604 | this_parent = dentry; |
606 | #ifdef DCACHE_DEBUG | ||
607 | printk(KERN_DEBUG "select_parent: descending to %s/%s, found=%d\n", | ||
608 | dentry->d_parent->d_name.name, dentry->d_name.name, found); | ||
609 | #endif | ||
610 | goto repeat; | 605 | goto repeat; |
611 | } | 606 | } |
612 | } | 607 | } |
@@ -616,10 +611,6 @@ dentry->d_parent->d_name.name, dentry->d_name.name, found); | |||
616 | if (this_parent != parent) { | 611 | if (this_parent != parent) { |
617 | next = this_parent->d_u.d_child.next; | 612 | next = this_parent->d_u.d_child.next; |
618 | this_parent = this_parent->d_parent; | 613 | this_parent = this_parent->d_parent; |
619 | #ifdef DCACHE_DEBUG | ||
620 | printk(KERN_DEBUG "select_parent: ascending to %s/%s, found=%d\n", | ||
621 | this_parent->d_parent->d_name.name, this_parent->d_name.name, found); | ||
622 | #endif | ||
623 | goto resume; | 614 | goto resume; |
624 | } | 615 | } |
625 | out: | 616 | out: |
@@ -798,7 +789,7 @@ struct dentry *d_alloc_name(struct dentry *parent, const char *name) | |||
798 | 789 | ||
799 | void d_instantiate(struct dentry *entry, struct inode * inode) | 790 | void d_instantiate(struct dentry *entry, struct inode * inode) |
800 | { | 791 | { |
801 | if (!list_empty(&entry->d_alias)) BUG(); | 792 | BUG_ON(!list_empty(&entry->d_alias)); |
802 | spin_lock(&dcache_lock); | 793 | spin_lock(&dcache_lock); |
803 | if (inode) | 794 | if (inode) |
804 | list_add(&entry->d_alias, &inode->i_dentry); | 795 | list_add(&entry->d_alias, &inode->i_dentry); |
@@ -1719,10 +1710,10 @@ static void __init dcache_init(unsigned long mempages) | |||
1719 | } | 1710 | } |
1720 | 1711 | ||
1721 | /* SLAB cache for __getname() consumers */ | 1712 | /* SLAB cache for __getname() consumers */ |
1722 | kmem_cache_t *names_cachep; | 1713 | kmem_cache_t *names_cachep __read_mostly; |
1723 | 1714 | ||
1724 | /* SLAB cache for file structures */ | 1715 | /* SLAB cache for file structures */ |
1725 | kmem_cache_t *filp_cachep; | 1716 | kmem_cache_t *filp_cachep __read_mostly; |
1726 | 1717 | ||
1727 | EXPORT_SYMBOL(d_genocide); | 1718 | EXPORT_SYMBOL(d_genocide); |
1728 | 1719 | ||