public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] __alloc_bootmem_node should not panic when it fails
@ 2004-06-27  5:27 Anton Blanchard
  2004-06-27  6:27 ` Ingo Oeser
  0 siblings, 1 reply; 6+ messages in thread
From: Anton Blanchard @ 2004-06-27  5:27 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, rusty


__alloc_bootmem_node currently panics if it cant satisfy an allocation
for a particular node. Thats rather antisocial, we should at the very
least return NULL and allow the caller to proceed (eg try another node).

A quick look at alloc_bootmem_node usage suggests we should fall back to
allocating from other nodes if it fails (as arch/alpha/kernel/pci_iommu.c
and arch/x86_64/kernel/setup64.c do).

The following patch does that. We fall back to the regular
__alloc_bootmem when __alloc_bootmem_node fails, which means all other
nodes are checked for available memory.

Signed-off-by: Anton Blanchard <anton@samba.org>

diff -puN mm/bootmem.c~debugit mm/bootmem.c
--- gr_work/mm/bootmem.c~debugit	2004-06-06 21:49:20.729826223 -0500
+++ gr_work-anton/mm/bootmem.c	2004-06-06 22:07:16.840243987 -0500
@@ -371,11 +371,6 @@ void * __init __alloc_bootmem_node (pg_d
 	if (ptr)
 		return (ptr);
 
-	/*
-	 * Whoops, we cannot satisfy the allocation request.
-	 */
-	printk(KERN_ALERT "bootmem alloc of %lu bytes failed!\n", size);
-	panic("Out of memory");
-	return NULL;
+	return __alloc_bootmem(size, align, goal);
 }
 

_

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-06-28 18:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-27  5:27 [PATCH] __alloc_bootmem_node should not panic when it fails Anton Blanchard
2004-06-27  6:27 ` Ingo Oeser
2004-06-27 22:28   ` Anton Blanchard
2004-06-28  6:29     ` Chris Wedgwood
2004-06-28 12:04       ` Robert Picco
2004-06-28 18:26       ` Martin Hicks

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox