Message ID | 1303935518.2583.27.camel@mulgrave.site (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Wed, Apr 27, 2011 at 22:18, James Bottomley <James.Bottomley@hansenpartnership.com> wrote: > These two fixes contain the agreed fix for our slub panic (agreed with > the mm folks that we'll define SLUB broken in the !NUMA && DISCONTIGMEM > case, which should fix m86k as well) and another buglet that turned up > examining the parisc discontigmem code. Do we still need to mark SLUB broken? On m68k, the issue seems to have been fixed by setting the N_NORMAL_MEMORY flag (pull request scheduled after one more linux-next build cycle). Or do you plan to unmark it broken once every affected arch sets the N_NORMAL_MEMORY flag? > The patches are here: > > master.kernel.org:/pub/scm/linux/kernel/git/jejb/parisc-2.6.git#fixes > > The short changelog is: > > David Rientjes (1): > [PARISC] set memory ranges in N_NORMAL_MEMORY when onlined > > James Bottomley (1): > [PARISC] slub: fix panic with DISCONTIGMEM > > The diffstat is: > > arch/parisc/mm/init.c | 4 +++- > init/Kconfig | 1 + > 2 files changed, 4 insertions(+), 1 deletions(-) > > And the full diff are below. > > James > > --- > > diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c > index b7ed8d7..b1d1262 100644 > --- a/arch/parisc/mm/init.c > +++ b/arch/parisc/mm/init.c > @@ -266,8 +266,10 @@ static void __init setup_bootmem(void) > } > memset(pfnnid_map, 0xff, sizeof(pfnnid_map)); > > - for (i = 0; i < npmem_ranges; i++) > + for (i = 0; i < npmem_ranges; i++) { > + node_set_state(i, N_NORMAL_MEMORY); > node_set_online(i); > + } > #endif > > /* > diff --git a/init/Kconfig b/init/Kconfig > index 56240e7..a7ad8fb 100644 > --- a/init/Kconfig > +++ b/init/Kconfig > @@ -1226,6 +1226,7 @@ config SLAB > per cpu and per node queues. > > config SLUB > + depends on BROKEN || NUMA || !DISCONTIGMEM > bool "SLUB (Unqueued Allocator)" > help > SLUB is a slab allocator that minimizes cache line usage Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 2011-04-27 at 22:36 +0200, Geert Uytterhoeven wrote: > On Wed, Apr 27, 2011 at 22:18, James Bottomley > <James.Bottomley@hansenpartnership.com> wrote: > > These two fixes contain the agreed fix for our slub panic (agreed with > > the mm folks that we'll define SLUB broken in the !NUMA && DISCONTIGMEM > > case, which should fix m86k as well) and another buglet that turned up > > examining the parisc discontigmem code. > > Do we still need to mark SLUB broken? > On m68k, the issue seems to have been fixed by setting the N_NORMAL_MEMORY flag > (pull request scheduled after one more linux-next build cycle). > > Or do you plan to unmark it broken once every affected arch sets the > N_NORMAL_MEMORY flag? Yes ... simply doing N_NORMAL_MEMORY doesn't fix parisc to not oops. James -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index b7ed8d7..b1d1262 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c @@ -266,8 +266,10 @@ static void __init setup_bootmem(void) } memset(pfnnid_map, 0xff, sizeof(pfnnid_map)); - for (i = 0; i < npmem_ranges; i++) + for (i = 0; i < npmem_ranges; i++) { + node_set_state(i, N_NORMAL_MEMORY); node_set_online(i); + } #endif /* diff --git a/init/Kconfig b/init/Kconfig index 56240e7..a7ad8fb 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1226,6 +1226,7 @@ config SLAB per cpu and per node queues. config SLUB + depends on BROKEN || NUMA || !DISCONTIGMEM bool "SLUB (Unqueued Allocator)" help SLUB is a slab allocator that minimizes cache line usage