[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Allow Hypervisor build with more than 64 CPUs

  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Bill Burns <bburns@xxxxxxxxxx>
  • Date: Fri, 15 Aug 2008 15:26:27 -0400
  • Delivery-date: Fri, 15 Aug 2008 12:36:38 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

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@xxxxxxxxxx>

--- xen/arch/x86/mm/shadow/private.h.orig       2007-12-06 12:48:38.000000000 
+++ 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)];

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.