Messages in this thread Patch in this message | | | Date | Thu, 28 Oct 2004 12:51:29 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.9 page allocation failure. order:0, mode:0x20 |
| |
Michael Clark <michael@metaparadigm.com> wrote: > > On 10/28/04 17:40, Andrew Morton wrote: > > Michael Clark <michael@metaparadigm.com> wrote: > >> cc1: page allocation failure. order:0, mode:0x20 > >> [<c013ba43>] __alloc_pages+0x1c3/0x390 > >> [<c013bc35>] __get_free_pages+0x25/0x40 > >> [<c013f283>] kmem_getpages+0x23/0xd0 > >> [<c013ffcf>] cache_grow+0xaf/0x160 > >> [<c0140202>] cache_alloc_refill+0x182/0x230 > >> [<c0140499>] kmem_cache_alloc+0x49/0x50 > >> [<c01c07df>] radix_tree_node_alloc+0x1f/0x70 > >> [<c01c0aad>] radix_tree_insert+0xed/0x110 > >> [<c014d841>] __add_to_swap_cache+0x71/0x100 > >> [<c014da5f>] add_to_swap+0x5f/0xc0 > >> [<c0142d32>] shrink_list+0x442/0x480 > >> [<c014bf7c>] page_referenced_anon+0x7c/0x90 > >> [<c01419c8>] __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/
| |