aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/percpu.h
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-07-13 11:32:41 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-07-13 11:32:41 +0100
commitcfbf17ffbb03e8c8501cae1bbba5459450b3447c (patch)
treecf2e5b34ce9149243688329505ecea8e68c7eb1f /xen/include/asm-x86/percpu.h
parent749182393c49818b03172986aa2ba6afe3615c5d (diff)
downloadxen-cfbf17ffbb03e8c8501cae1bbba5459450b3447c.tar.gz
xen-cfbf17ffbb03e8c8501cae1bbba5459450b3447c.tar.bz2
xen-cfbf17ffbb03e8c8501cae1bbba5459450b3447c.zip
Introduce and use a per-CPU read-mostly sub-section
Since mixing data that only gets setup once and then (perhaps frequently) gets read by remote CPUs with data that the local CPU may modify (again, perhaps frequently) still causes undesirable cache protocol related bus traffic, separate the former class of objects from the latter. These objects converted here are just picked based on their write-once (or write-very-rarely) properties; perhaps some more adjustments may be desirable subsequently. The primary users of the new sub-section will result from the next patch. Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/include/asm-x86/percpu.h')
-rw-r--r--xen/include/asm-x86/percpu.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/xen/include/asm-x86/percpu.h b/xen/include/asm-x86/percpu.h
index d76206587f..ad5c667ace 100644
--- a/xen/include/asm-x86/percpu.h
+++ b/xen/include/asm-x86/percpu.h
@@ -5,9 +5,9 @@
#define PERCPU_SIZE (1UL << PERCPU_SHIFT)
/* Separate out the type, so (int[3], foo) works. */
-#define DEFINE_PER_CPU(type, name) \
- __attribute__((__section__(".data.percpu"))) \
- __typeof__(type) per_cpu__##name
+#define __DEFINE_PER_CPU(type, name, suffix) \
+ __attribute__((__section__(".data.percpu" #suffix))) \
+ __typeof__(type) per_cpu_##name
/* var is in discarded region: offset to particular copy we want */
#define per_cpu(var, cpu) \