On Mon, 2 May 2011, Ben Hutchings wrote: > > From: James Bottomley <[email protected]> > > > > commit 4a5fa3590f09999f6db41bc386bce40848fa9f63 upstream. > > > > Slub makes assumptions about page_to_nid() which are violated by > > DISCONTIGMEM and !NUMA. This violation results in a panic because > > page_to_nid() can be non-zero for pages in the discontiguous ranges and > > this leads to a null return by get_node(). The assertion by the > > maintainer is that DISCONTIGMEM should only be allowed when NUMA is also > > defined. However, at least six architectures: alpha, ia64, m32r, m68k, > > mips, parisc violate this. The panic is a regression against slab, so > > just mark slub broken in the problem configuration to prevent users > > reporting these panics. > > This stable series also included the patches: > > commit 6a682f634ba9615d3498d1e20a23e9d4fcb39f16 > Author: David Rientjes <[email protected]> > Date: Wed Apr 20 19:27:13 2011 -0700 > > set memory ranges in N_NORMAL_MEMORY when onlined > > commit d9b41e0b54fd7e164daf1e9c539c1070398aa02e upstream. > > commit 8858587af25efc06d5cce42676786b3d7a9160f2 > Author: Michael Schmitz <[email protected]> > Date: Tue Apr 26 14:51:53 2011 +1200 > > m68k/mm: Set all online nodes in N_NORMAL_MEMORY > > commit 4aac0b4815ba592052758f4b468f253d383dc9d6 upstream. > > which look like they're supposed to make slub work on these two > architectures (parisc and m68k). Do they? If not, do they fix a > different problem? >
SLUB relies heavily on N_NORMAL_MEMORY, so these two patches fix that allocator but the problem is actually not just isolated to that subsystem; it fixes an issue with anything that uses N_NORMAL_MEMORY. The former patch sets the nodes correctly for parisc and Michael's patch sets the nodes correctly for m68k, so it's the same fix for two different previously-broken architectures. _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
