diff options
Diffstat (limited to 'include/asm-x86_64/percpu.h')
-rw-r--r-- | include/asm-x86_64/percpu.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-x86_64/percpu.h b/include/asm-x86_64/percpu.h index c6fbb67eac90..5abd48270101 100644 --- a/include/asm-x86_64/percpu.h +++ b/include/asm-x86_64/percpu.h | |||
@@ -20,6 +20,11 @@ | |||
20 | #define DEFINE_PER_CPU(type, name) \ | 20 | #define DEFINE_PER_CPU(type, name) \ |
21 | __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name | 21 | __attribute__((__section__(".data.percpu"))) __typeof__(type) per_cpu__##name |
22 | 22 | ||
23 | #define DEFINE_PER_CPU_SHARED_ALIGNED(type, name) \ | ||
24 | __attribute__((__section__(".data.percpu.shared_aligned"))) \ | ||
25 | __typeof__(type) per_cpu__##name \ | ||
26 | ____cacheline_internodealigned_in_smp | ||
27 | |||
23 | /* var is in discarded region: offset to particular copy we want */ | 28 | /* var is in discarded region: offset to particular copy we want */ |
24 | #define per_cpu(var, cpu) (*({ \ | 29 | #define per_cpu(var, cpu) (*({ \ |
25 | extern int simple_identifier_##var(void); \ | 30 | extern int simple_identifier_##var(void); \ |
@@ -46,6 +51,8 @@ extern void setup_per_cpu_areas(void); | |||
46 | 51 | ||
47 | #define DEFINE_PER_CPU(type, name) \ | 52 | #define DEFINE_PER_CPU(type, name) \ |
48 | __typeof__(type) per_cpu__##name | 53 | __typeof__(type) per_cpu__##name |
54 | #define DEFINE_PER_CPU_SHARED_ALIGNED(type, name) \ | ||
55 | DEFINE_PER_CPU(type, name) | ||
49 | 56 | ||
50 | #define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var)) | 57 | #define per_cpu(var, cpu) (*((void)(cpu), &per_cpu__##var)) |
51 | #define __get_cpu_var(var) per_cpu__##var | 58 | #define __get_cpu_var(var) per_cpu__##var |