Re: [git pull] m68k SLUB fix for 2.6.39

James Bottomley
2011-04-28T21:34:32Z

On Thu, 2011-04-28 at 14:25 -0700, David Rientjes wrote:
> On Thu, 28 Apr 2011, Geert Uytterhoeven wrote:
>
> > Hi Linus,
> >
> > This is the SLUB fix for m68k, which also applies to stable.
> >
> > The following changes since commit 8e10cd74342c7f5ce259cceca36f6eba084f5d58:
> > Linus Torvalds (1):
> > Linux 2.6.39-rc5
> >
> > are available in the git repository at:
> >
> > master.kernel.org:/pub/scm/linux/kernel/git/geert/linux-m68k.git for-2.6.39
> >
> > Michael Schmitz (1):
> > m68k/mm: Set all online nodes in N_NORMAL_MEMORY
> >
> > arch/m68k/mm/motorola.c | 2 ++
> > 1 files changed, 2 insertions(+), 0 deletions(-)
> >
>
> Thanks for pushing this, Geert.
>
> Since 4a5fa3590f09 ([PARISC] slub: fix panic with DISCONTIGMEM) from
> 2.6.39-rc4, you can't actually select slub on m68k without CONFIG_ADVANCED
> and CONFIG_SINGLE_MEMORY_CHUNK because it otherwises defaults to
> discontigmem.
>
> James tested hppa64 with my N_NORMAL_MEMORY fix and found that it turned
> an SMP box into UP. If you've tested slub on m68k without regressions,
> then perhaps you'd like to add a "|| M68K" to CONFIG_SLUB?

To be honest, I really don't see that fixing it. As soon as you
allocate memory beyond range zero, you move onto a non-zero node as far
as slub is concerned, and that will oops.

I think what the N_NORMAL_MEMORY patch did is just make it take a whiile
before you start allocating from that range. Try executing a memory
balloon on the platform; that was how we first demonstrated the problem
on parisc.

James