Index: linux-2.6.19-rc2-mm1/arch/ia64/kernel/vmlinux.lds
===================================================================
--- linux-2.6.19-rc2-mm1.orig/arch/ia64/kernel/vmlinux.lds	2006-10-18 16:29:02.000000000 -0500
+++ linux-2.6.19-rc2-mm1/arch/ia64/kernel/vmlinux.lds	2006-10-18 16:36:14.416978218 -0500
@@ -449,15 +449,15 @@ SECTIONS
         { *(.data.cacheline_aligned) }
   /* Per-cpu data: */
   percpu : { } :percpu
-  . = ALIGN((1 << 18));
+  . = ALIGN((1 << 20));
   __phys_per_cpu_start = .;
-  .data.percpu (-(1 << 18)) : AT(__phys_per_cpu_start - (((5<<(61))+0x100000000) - (1 << 26)))
+  .data.percpu (-(1 << 20)) : AT(__phys_per_cpu_start - (((5<<(61))+0x100000000) - (1 << 26)))
  {
   __per_cpu_start = .;
   *(.data.percpu)
   __per_cpu_end = .;
  }
-  . = __phys_per_cpu_start + (1 << 18); /* ensure percpu data fits
+  . = __phys_per_cpu_start + (1 << 20); /* ensure percpu data fits
   						 * into percpu page size
 						 */
   data : { } :data
Index: linux-2.6.19-rc2-mm1/include/asm-ia64/page.h
===================================================================
--- linux-2.6.19-rc2-mm1.orig/include/asm-ia64/page.h	2006-10-13 11:25:04.000000000 -0500
+++ linux-2.6.19-rc2-mm1/include/asm-ia64/page.h	2006-10-18 16:34:19.631701720 -0500
@@ -44,7 +44,7 @@
 #define PAGE_MASK		(~(PAGE_SIZE - 1))
 #define PAGE_ALIGN(addr)	(((addr) + PAGE_SIZE - 1) & PAGE_MASK)
 
-#define PERCPU_PAGE_SHIFT	16	/* log2() of max. size of per-CPU area */
+#define PERCPU_PAGE_SHIFT	20	/* log2() of max. size of per-CPU area */
 #define PERCPU_PAGE_SIZE	(__IA64_UL_CONST(1) << PERCPU_PAGE_SHIFT)