diff options
author | David Howells <dhowells@redhat.com> | 2009-04-21 18:00:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-21 22:40:00 -0400 |
commit | 5028eaa97dd1dab9cd7c30c4d38f71c708ca64bc (patch) | |
tree | ff416e9ecb00ab2b616bce6acc4e2579c45b06b9 /include/asm-generic | |
parent | 9b8de7479d0dbab1ed98b5b015d44232c9d3d08e (diff) |
PERCPU: Collect the DECLARE/DEFINE declarations together
Collect the DECLARE/DEFINE declarations together in linux/percpu-defs.h so
that they're in one place, and give them descriptive comments, particularly
the SHARED_ALIGNED variant.
It would be nice to collect these in linux/percpu.h, but that's not possible
without sorting out the severe #include recursion between the x86 arch headers
and the general headers (and possibly other arches too).
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-generic')
-rw-r--r-- | include/asm-generic/percpu.h | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h index af47b9e10064..d7d50d7ee51e 100644 --- a/include/asm-generic/percpu.h +++ b/include/asm-generic/percpu.h | |||
@@ -1,13 +1,9 @@ | |||
1 | #ifndef _ASM_GENERIC_PERCPU_H_ | 1 | #ifndef _ASM_GENERIC_PERCPU_H_ |
2 | #define _ASM_GENERIC_PERCPU_H_ | 2 | #define _ASM_GENERIC_PERCPU_H_ |
3 | |||
3 | #include <linux/compiler.h> | 4 | #include <linux/compiler.h> |
4 | #include <linux/threads.h> | 5 | #include <linux/threads.h> |
5 | 6 | #include <linux/percpu-defs.h> | |
6 | /* | ||
7 | * Determine the real variable name from the name visible in the | ||
8 | * kernel sources. | ||
9 | */ | ||
10 | #define per_cpu_var(var) per_cpu__##var | ||
11 | 7 | ||
12 | #ifdef CONFIG_SMP | 8 | #ifdef CONFIG_SMP |
13 | 9 | ||
@@ -101,22 +97,4 @@ extern void setup_per_cpu_areas(void); | |||
101 | #define PER_CPU_ATTRIBUTES | 97 | #define PER_CPU_ATTRIBUTES |
102 | #endif | 98 | #endif |
103 | 99 | ||
104 | #define DECLARE_PER_CPU_SECTION(type, name, section) \ | ||
105 | extern \ | ||
106 | __attribute__((__section__(PER_CPU_BASE_SECTION section))) \ | ||
107 | PER_CPU_ATTRIBUTES __typeof__(type) per_cpu__##name | ||
108 | |||
109 | #define DECLARE_PER_CPU(type, name) \ | ||
110 | DECLARE_PER_CPU_SECTION(type, name, "") | ||
111 | |||
112 | #define DECLARE_PER_CPU_SHARED_ALIGNED(type, name) \ | ||
113 | DECLARE_PER_CPU_SECTION(type, name, PER_CPU_SHARED_ALIGNED_SECTION) \ | ||
114 | ____cacheline_aligned_in_smp | ||
115 | |||
116 | #define DECLARE_PER_CPU_PAGE_ALIGNED(type, name) \ | ||
117 | DECLARE_PER_CPU_SECTION(type, name, ".page_aligned") | ||
118 | |||
119 | #define DECLARE_PER_CPU_FIRST(type, name) \ | ||
120 | DECLARE_PER_CPU_SECTION(type, name, PER_CPU_FIRST_SECTION) | ||
121 | |||
122 | #endif /* _ASM_GENERIC_PERCPU_H_ */ | 100 | #endif /* _ASM_GENERIC_PERCPU_H_ */ |