Messages in this thread Patch in this message | | | From | Rasmus Villemoes <> | Subject | [POC 08/12] fs/dcache.c: access dentry_cache via rai_load | Date | Thu, 18 Oct 2018 00:33:28 +0200 |
| |
This avoids a cacheline access to get the value of the dentry_cache pointer in the places that do a kmem_cache_*(dentry_cache, ...);
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- fs/dcache.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/fs/dcache.c b/fs/dcache.c index 2e7e8d85e9b4..1d54dfb38c9d 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -30,6 +30,7 @@ #include <linux/bit_spinlock.h> #include <linux/rculist_bl.h> #include <linux/list_lru.h> +#include <linux/rai.h> #include "internal.h" #include "mount.h" @@ -76,7 +77,8 @@ __cacheline_aligned_in_smp DEFINE_SEQLOCK(rename_lock); EXPORT_SYMBOL(rename_lock); -static struct kmem_cache *dentry_cache __read_mostly; +static struct kmem_cache *__dentry_cache __read_mostly; +#define dentry_cache rai_load(__dentry_cache) const struct qstr empty_name = QSTR_INIT("", 0); EXPORT_SYMBOL(empty_name); @@ -3088,7 +3090,7 @@ static void __init dcache_init(void) * but it is probably not worth it because of the cache nature * of the dcache. */ - dentry_cache = KMEM_CACHE_USERCOPY(dentry, + __dentry_cache = KMEM_CACHE_USERCOPY(dentry, SLAB_RECLAIM_ACCOUNT|SLAB_PANIC|SLAB_MEM_SPREAD|SLAB_ACCOUNT, d_iname); -- 2.19.1.6.gbde171bbf5
| |