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