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)