Commit 804f1594 authored by Kyle McMartin's avatar Kyle McMartin Committed by Linus Torvalds

[PATCH] Move read_mostly definition to asm/cache.h

Seems like needless clutter having a bunch of #if defined(CONFIG_$ARCH) in
include/linux/cache.h.  Move the per architecture section definition to
asm/cache.h, and keep the if-not-defined dummy case in linux/cache.h to
catch architectures which don't implement the section.

Verified that symbols still go in .data.read_mostly on parisc,
and the compile doesn't break.
Signed-off-by: default avatarKyle McMartin <kyle@parisc-linux.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 6a2900b6
...@@ -10,4 +10,6 @@ ...@@ -10,4 +10,6 @@
#define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT) #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT) #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
#endif #endif
...@@ -25,4 +25,6 @@ ...@@ -25,4 +25,6 @@
# define SMP_CACHE_BYTES (1 << 3) # define SMP_CACHE_BYTES (1 << 3)
#endif #endif
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
#endif /* _ASM_IA64_CACHE_H */ #endif /* _ASM_IA64_CACHE_H */
...@@ -29,6 +29,8 @@ ...@@ -29,6 +29,8 @@
#define SMP_CACHE_BYTES L1_CACHE_BYTES #define SMP_CACHE_BYTES L1_CACHE_BYTES
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
extern void flush_data_cache_local(void *); /* flushes local data-cache only */ extern void flush_data_cache_local(void *); /* flushes local data-cache only */
extern void flush_instruction_cache_local(void *); /* flushes local code-cache only */ extern void flush_instruction_cache_local(void *); /* flushes local code-cache only */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
......
...@@ -13,4 +13,6 @@ ...@@ -13,4 +13,6 @@
#define SMP_CACHE_BYTES_SHIFT 6 #define SMP_CACHE_BYTES_SHIFT 6
#define SMP_CACHE_BYTES (1 << SMP_CACHE_BYTES_SHIFT) /* L2 cache line size. */ #define SMP_CACHE_BYTES (1 << SMP_CACHE_BYTES_SHIFT) /* L2 cache line size. */
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
#endif #endif
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
__attribute__((__section__(".data.page_aligned"))) __attribute__((__section__(".data.page_aligned")))
#endif #endif
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
#endif #endif
#endif #endif
...@@ -13,9 +13,7 @@ ...@@ -13,9 +13,7 @@
#define SMP_CACHE_BYTES L1_CACHE_BYTES #define SMP_CACHE_BYTES L1_CACHE_BYTES
#endif #endif
#if defined(CONFIG_X86) || defined(CONFIG_SPARC64) || defined(CONFIG_IA64) || defined(CONFIG_PARISC) #ifndef __read_mostly
#define __read_mostly __attribute__((__section__(".data.read_mostly")))
#else
#define __read_mostly #define __read_mostly
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment