aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/multicall.h
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-08-08 14:48:43 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-08-08 14:48:43 +0100
commit8eafa79a73f81ea48b7b77d3bd4b2c310cca057c (patch)
treeb9206dc4c620c034890e93cde9363005c7342a74 /xen/include/xen/multicall.h
parent1ac7758ecb6b2ac342fc60b65277e0439102035a (diff)
downloadxen-8eafa79a73f81ea48b7b77d3bd4b2c310cca057c.tar.gz
xen-8eafa79a73f81ea48b7b77d3bd4b2c310cca057c.tar.bz2
xen-8eafa79a73f81ea48b7b77d3bd4b2c310cca057c.zip
[XEN] Make multicall info explicitly PER_CPU.
Also remove cacheline alignment in a few places. We leave the common timer and schedule_data structures aligned because they may be accessed randomly by remoted CPUs: at least we can contain cacheline bouncing to just the offending structures. Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/xen/multicall.h')
-rw-r--r--xen/include/xen/multicall.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/xen/include/xen/multicall.h b/xen/include/xen/multicall.h
index 216e2104ee..5d8b4db1ca 100644
--- a/xen/include/xen/multicall.h
+++ b/xen/include/xen/multicall.h
@@ -5,6 +5,7 @@
#ifndef __XEN_MULTICALL_H__
#define __XEN_MULTICALL_H__
+#include <xen/percpu.h>
#include <asm/multicall.h>
#define _MCSF_in_multicall 0
@@ -14,8 +15,8 @@
struct mc_state {
unsigned long flags;
struct multicall_entry call;
-} __cacheline_aligned;
+};
-extern struct mc_state mc_state[NR_CPUS];
+DECLARE_PER_CPU(struct mc_state, mc_state);
#endif /* __XEN_MULTICALL_H__ */