From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linux-foundation.org (smtp1.linux-foundation.org [140.211.169.13]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "smtp.linux-foundation.org", Issuer "CA Cert Signing Authority" (verified OK)) by ozlabs.org (Postfix) with ESMTP id 11C5CDDEE3 for ; Wed, 5 Mar 2008 07:36:08 +1100 (EST) Date: Tue, 4 Mar 2008 12:34:59 -0800 From: Andrew Morton To: Christoph Lameter Subject: Re: [BUG] 2.6.25-rc3-mm1 kernel panic while bootup on powerpc () Message-Id: <20080304123459.364f879b.akpm@linux-foundation.org> In-Reply-To: References: <20080304011928.e8c82c0c.akpm@linux-foundation.org> <47CD4AB3.3080409@linux.vnet.ibm.com> <20080304103636.3e7b8fdd.akpm@linux-foundation.org> <47CDA081.7070503@cs.helsinki.fi> <20080304193532.GC9051@csn.ul.ie> <84144f020803041141x5bb55832r495d7fde92356e27@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Cc: linux-mm@kvack.org, mel@csn.ul.ie, kamalesh@linux.vnet.ibm.com, linuxppc-dev@ozlabs.org, penberg@cs.helsinki.fi, stable@kernel.org List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Tue, 4 Mar 2008 12:07:39 -0800 (PST) Christoph Lameter wrote: > I think this is the correct fix. > > The NUMA fallback logic should be passing local_flags to kmem_get_pages() > and not simply the flags. > > Maybe a stable candidate since we are now simply > passing on flags to the page allocator on the fallback path. Do we know why this is only reported in 2.6.25-rc3-mm1? Why does this need fixing in 2.6.24.x? Thanks. > Signed-off-by: Christoph Lameter > > --- > mm/slab.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > Index: linux-2.6.25-rc3-mm1/mm/slab.c > =================================================================== > --- linux-2.6.25-rc3-mm1.orig/mm/slab.c 2008-03-04 12:01:07.430911920 -0800 > +++ linux-2.6.25-rc3-mm1/mm/slab.c 2008-03-04 12:04:54.449857145 -0800 > @@ -3277,7 +3277,7 @@ retry: > if (local_flags & __GFP_WAIT) > local_irq_enable(); > kmem_flagcheck(cache, flags); > - obj = kmem_getpages(cache, flags, -1); > + obj = kmem_getpages(cache, local_flags, -1); > if (local_flags & __GFP_WAIT) > local_irq_disable(); > if (obj) {