Bill Burns
2008-Aug-15 19:26 UTC
[Xen-devel] [PATCH] Allow Hypervisor build with more than 64 CPUs
Trying to build the Xen hypervisor with max_phys_cpus=128
for x86_64 fails. (Note that this was on a 3.1 base, but
unstable appears to have the same issue).
There is a build assertion due to the size of
the page_info structure and the shadow_page_info
structures get out of sync due to the presence
of cpumask_t in the page info structure (which
grows with more than 64 CPUs).
The proposed fix is to tack on the following to
the end of shadow_page_info structure.
Kudo''s to Eduardo Habkost for the workaround.
Signed-off-by: Bill Burns <bburns@redhat.com>
--- xen/arch/x86/mm/shadow/private.h.orig 2007-12-06 12:48:38.000000000 -0500
+++ xen/arch/x86/mm/shadow/private.h 2008-08-12 12:52:49.000000000 -0400
@@ -243,6 +243,12 @@ struct shadow_page_info
/* For non-pinnable shadows, a higher entry that points at us */
paddr_t up;
};
+#if NR_CPUS > 64
+ /* Need to add some padding to match struct page_info size,
+ * if cpumask_t is larger than a long
+ */
+ u8 padding[sizeof(cpumask_t)-sizeof(long)];
+#endif
};
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Keir Fraser
2008-Aug-17 10:23 UTC
Re: [Xen-devel] [PATCH] Allow Hypervisor build with more than 64 CPUs
On 15/8/08 20:26, "Bill Burns" <bburns@redhat.com> wrote:> Trying to build the Xen hypervisor with max_phys_cpus=128 > for x86_64 fails. (Note that this was on a 3.1 base, but > unstable appears to have the same issue). > > There is a build assertion due to the size of > the page_info structure and the shadow_page_info > structures get out of sync due to the presence > of cpumask_t in the page info structure (which > grows with more than 64 CPUs). > > The proposed fix is to tack on the following to > the end of shadow_page_info structure.This should be fixed in c/s 18324 by relaxing the BUILD_BUG_ON(). -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel