Messages in this thread |  | | | Date | Thu, 28 Oct 2004 22:11:22 +0800 | | From | Michael Clark <> | | Subject | Re: 2.6.9 page allocation failure. order:0, mode:0x20 |
| |
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. Perhaps root->gfp_mask has !__GFP_NOWARN
Shouldn't it use the preloaded nodes that have been reserved anyway.
~mc - 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/
|  |