Messages in this thread Patch in this message | | | Date | Tue, 15 Apr 2008 14:43:12 -0700 | From | Mike Travis <> | Subject | Re: [bug] SLUB + mm/slab.c boot crash in -rc9 |
| |
Ingo Molnar wrote: > * Christoph Lameter <clameter@sgi.com> wrote: > >> On Tue, 15 Apr 2008, Ingo Molnar wrote: >> >>>> static DEFINE_PER_CPU(char, dummy)[10000]; >>> what's the guarantee that it's at the end of the section? I'd like >>> to pad the per cpu areas at their end. (doubling their size is a >>> good way to achieve that) >> No guarantee. Its up to the linker. Sorry. We could add a new >> percpu.last section but that requires a number of changes to linking. > > ah. Then the patch below should do the trick, right? > > Ingo > > -------------> > Subject: larger: percpu > From: Ingo Molnar <mingo@elte.hu> > Date: Tue Apr 15 23:13:18 CEST 2008 > > Signed-off-by: Ingo Molnar <mingo@elte.hu> > --- > arch/x86/kernel/vmlinux_32.lds.S | 1 + > 1 file changed, 1 insertion(+) > > Index: linux/arch/x86/kernel/vmlinux_32.lds.S > =================================================================== > --- linux.orig/arch/x86/kernel/vmlinux_32.lds.S > +++ linux/arch/x86/kernel/vmlinux_32.lds.S > @@ -186,6 +186,7 @@ SECTIONS > __per_cpu_start = .; > *(.data.percpu) > *(.data.percpu.shared_aligned) > + . = . + 65536; > __per_cpu_end = .; > } > . = ALIGN(PAGE_SIZE);
Or you could try this:
--- linux-2.6.x86.sched-last-0415.orig/include/linux/percpu.h +++ linux-2.6.x86.sched-last-0415/include/linux/percpu.h @@ -38,10 +38,7 @@
/* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */ #ifndef PERCPU_ENOUGH_ROOM -#ifdef CONFIG_MODULES -#define PERCPU_MODULE_RESERVE 8192 -#else -#define PERCPU_MODULE_RESERVE 0 +#define PERCPU_MODULE_RESERVE 65536 #endif
#define PERCPU_ENOUGH_ROOM \
| |