Re: 2.6.0 test3 does not boot on ia64 NUMA

From: Martin Hicks <mort_at_wildopensource.com>
Date: 2003-08-27 02:13:07
On Tue, Aug 26, 2003 at 05:39:32PM +0200, Xavier Bru wrote:
> 
> I tried to put find_memory()  after acpi_numa_init() as in 2.5.72, but 
> now we get:
>      bootmem alloc of 100 bytes failed! in acpi_table_init()
> that now uses the bootmem allocator.
> 
> I wonder what should be the right order for initialisation, and if
> there are ia64 platforms running 2.6.0 with CONFIG_NUMA. Any help is
> apreciated.

Jesse Barnes has an unreleased patch to make SGI SN2 work, which does
move the find_memory() after acpi_numa_init().  There is another patch,
which I've attached, which removes the bootmem alloc of memory in ACPI.

I haven't played with this recently, so your mileage may vary.  Jesse
should be back from vacation next week, and should release updated SN2
patches then.

mh

-- 
Wild Open Source Inc.                  mort@wildopensource.com


# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1395  -> 1.1396 
#	drivers/acpi/tables.c	1.14    -> 1.15   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/07/30	jbarnes@tomahawk.engr.sgi.com	1.1396
# don't use alloc_bootmem in acpi table init
# --------------------------------------------
#
diff -Nru a/drivers/acpi/tables.c b/drivers/acpi/tables.c
--- a/drivers/acpi/tables.c	Wed Jul 30 11:45:27 2003
+++ b/drivers/acpi/tables.c	Wed Jul 30 11:45:27 2003
@@ -69,7 +69,8 @@
 
 static unsigned long		sdt_pa;		/* Physical Address */
 static unsigned long		sdt_count;	/* Table count */
-static struct acpi_table_sdt	*sdt_entry;
+
+static struct acpi_table_sdt	sdt_entry[ACPI_MAX_TABLES];
 
 void
 acpi_table_print (
@@ -413,12 +414,6 @@
 			sdt_count = ACPI_MAX_TABLES;
 		}
 
-		sdt_entry = alloc_bootmem(sdt_count * sizeof(struct acpi_table_sdt));
-		if (!sdt_entry) {
-			printk(KERN_ERR "ACPI: Could not allocate mem for SDT entries!\n");
-			return -ENOMEM;
-		}
-
 		for (i = 0; i < sdt_count; i++)
 			sdt_entry[i].pa = (unsigned long) mapped_xsdt->entry[i];
 	}
@@ -463,12 +458,6 @@
 			printk(KERN_WARNING PREFIX "Truncated %lu RSDT entries\n",
 				(sdt_count - ACPI_MAX_TABLES));
 			sdt_count = ACPI_MAX_TABLES;
-		}
-
-		sdt_entry = alloc_bootmem(sdt_count * sizeof(struct acpi_table_sdt));
-		if (!sdt_entry) {
-			printk(KERN_ERR "ACPI: Could not allocate mem for SDT entries!\n");
-			return -ENOMEM;
 		}
 
 		for (i = 0; i < sdt_count; i++)
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Tue Aug 26 12:19:47 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:17 EST