Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > fc11cd6e1c513a17304da94a5390f3cd > files > 4437

kernel-2.6.18-194.11.1.el5.src.rpm

From: Bill Burns <bburns@redhat.com>
Date: Thu, 21 Aug 2008 13:09:15 -0400
Subject: [xen] fix GDT allocation for 128 CPUs
Message-id: 20080821170915.9528.2106.sendpatchset@localhost.localdomain
O-Subject: [RHEL5.3 PATCH 2/3] Xen fix GDT allocation for 128 CPUs
Bugzilla: 447958
RH-Acked-by: Rik van Riel <riel@redhat.com>
RH-Acked-by: Chris Lalancette <clalance@redhat.com>
RH-Acked-by: Don Dutile <ddutile@redhat.com>

Fixes bz 447958

The second issue was a crash that occurred when
cpu 126 was being initialized. This was the result
of exhausting the GDT space reserved for per CPU
elements. A simple change to add a second page
solves this issue. This part is not upstream as
they are searching for a more portable fix.
Kudos to Clalance for the GDT fix.

diff --git a/include/asm-x86/desc.h b/include/asm-x86/desc.h
index aa354aa..a79627f 100644
--- a/include/asm-x86/desc.h
+++ b/include/asm-x86/desc.h
@@ -5,7 +5,11 @@
  * Xen reserves a memory page of GDT entries.
  * No guest GDT entries exist beyond the Xen reserved area.
  */
+#if MAX_PHYS_CPUS > 64
+#define NR_RESERVED_GDT_PAGES   2
+#else
 #define NR_RESERVED_GDT_PAGES   1
+#endif
 #define NR_RESERVED_GDT_BYTES   (NR_RESERVED_GDT_PAGES * PAGE_SIZE)
 #define NR_RESERVED_GDT_ENTRIES (NR_RESERVED_GDT_BYTES / 8)