Re: [PATCH] dyn_array: remove one panic

Previous thread: [PATCH] Fix pointer arithmetic in hpt3xx driver code (3rd try) by Masoud Sharbiani on Saturday, September 6, 2008 - 10:18 am. (5 messages)

Next thread: [PATCH] b43 G-PHY: Remove mmiowb() by Michael Buesch on Saturday, September 6, 2008 - 10:28 am. (1 message)
From: Yinghai Lu
Date: Saturday, September 6, 2008 - 10:26 am

Andrew said, we don't need duplicated panic.
because __alloc_bootmem already have that.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>

diff --git a/init/dyn_array.c b/init/dyn_array.c
index cf1e04c..778d9d5 100644
--- a/init/dyn_array.c
+++ b/init/dyn_array.c
@@ -33,11 +33,9 @@ void __init pre_alloc_dyn_array(void)
 
 	/* allocate them all together */
 	max_align = max_t(unsigned long, max_align, PAGE_SIZE);
-	ptr = __alloc_bootmem_nopanic(total_size, max_align, 0);
-	if (!ptr)
-		panic("Can not alloc dyn_alloc\n");
-
+	ptr = __alloc_bootmem(total_size, max_align, 0);
 	phys = virt_to_phys(ptr);
+
 	for (daa = __dyn_array_start ; daa < __dyn_array_end; daa++) {
 		struct dyn_array *da = *daa;
 
--

From: Ingo Molnar
Date: Saturday, September 6, 2008 - 10:29 am

applied to tip/irq/sparseirq, thanks.

Maybe some design documentation would be nice too, to point out that 
most of the pain we do here is because we dont have bootmem available as 
early as we need an already instantiated dyn-array based IRQ array.

So we try this mix of an abstraction of preallocated and post-allocated 
array, with pre-bootmem and post-bootmem behavior.

	Ingo
--