Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262638AbUJ1UBq (ORCPT ); Thu, 28 Oct 2004 16:01:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261866AbUJ1T6e (ORCPT ); Thu, 28 Oct 2004 15:58:34 -0400 Received: from fw.osdl.org ([65.172.181.6]:14043 "EHLO mail.osdl.org") by vger.kernel.org with ESMTP id S262868AbUJ1Txr (ORCPT ); Thu, 28 Oct 2004 15:53:47 -0400 Date: Thu, 28 Oct 2004 12:51:29 -0700 From: Andrew Morton To: Michael Clark Cc: linux-kernel@vger.kernel.org Subject: Re: 2.6.9 page allocation failure. order:0, mode:0x20 Message-Id: <20041028125129.057db7dc.akpm@osdl.org> In-Reply-To: <4180FE0A.2020000@metaparadigm.com> References: <41808419.8070104@metaparadigm.com> <20041028024039.1a9f5056.akpm@osdl.org> <4180FE0A.2020000@metaparadigm.com> X-Mailer: Sylpheed version 0.9.7 (GTK+ 1.2.10; i386-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1986 Lines: 49 Michael Clark wrote: > > On 10/28/04 17:40, Andrew Morton wrote: > > Michael Clark wrote: > >> cc1: page allocation failure. order:0, mode:0x20 > >> [] __alloc_pages+0x1c3/0x390 > >> [] __get_free_pages+0x25/0x40 > >> [] kmem_getpages+0x23/0xd0 > >> [] cache_grow+0xaf/0x160 > >> [] cache_alloc_refill+0x182/0x230 > >> [] kmem_cache_alloc+0x49/0x50 > >> [] radix_tree_node_alloc+0x1f/0x70 > >> [] radix_tree_insert+0xed/0x110 > >> [] __add_to_swap_cache+0x71/0x100 > >> [] add_to_swap+0x5f/0xc0 > >> [] shrink_list+0x442/0x480 > >> [] page_referenced_anon+0x7c/0x90 > >> [] __pagevec_release+0x28/0x40 > > > > > > I'm confused. 2.6.9 uses __GFP_NOWARN in add_to_swap() so the messages > > should be suppressed. Are you sure you're using 2.6.9? > > Ya is 2.6.9, has uml-skas patch also but that doesn't touch swap_state.c > > Ah, I see I think, radix_tree_node_alloc first calls kmem_cache_alloc > with root->gfp_mask and only if this fails dips into the preloaded > percpu node stash. Oh crap, so it does. --- 25/mm/swap_state.c~swapper_space-warning-suppression 2004-10-28 12:51:06.975218208 -0700 +++ 25-akpm/mm/swap_state.c 2004-10-28 12:51:15.910859784 -0700 @@ -34,7 +34,7 @@ static struct backing_dev_info swap_back }; struct address_space swapper_space = { - .page_tree = RADIX_TREE_INIT(GFP_ATOMIC), + .page_tree = RADIX_TREE_INIT(GFP_ATOMIC|__GFP_NOWARN), .tree_lock = SPIN_LOCK_UNLOCKED, .a_ops = &swap_aops, .i_mmap_nonlinear = LIST_HEAD_INIT(swapper_space.i_mmap_nonlinear), _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/