On (22/01/08 13:14), Ingo Molnar didst pronounce:
> 
> * Mel Gorman <[EMAIL PROTECTED]> wrote:
> 
> > [...] I tested this situation on a 4-node NUMA Opteron box. It didn't 
> > work very well based on a few problems.
> > 
> > - alloc_remap() and SPARSEMEM on HIGHMEM4G explodes [1]
> > - Without SRAT, there is a build failure 
> > - Enabling SRAT requires BOOT_IOREMAP and it explodes early in boot
> > 
> > I have one fix for items 1 and 2 with the patch below. It probably 
> > should be split in two but lets see if we want to pursue alternative 
> > fixes to this problem first. In particular, this patch stops SPARSEMEM 
> > using alloc_remap() because not enough memory is set aside. An 
> > alternative solution may be to reserve more for alloc_remap() when 
> > SPARSEMEM is in use.
> > 
> > With the patch applied, an x86-64 capable NUMA Opteron box will boot a 
> > 32 bit NUMA enabled kernel with DISCONTIGMEM or SPARSEMEM. Due to the 
> > lack of SRAT parsing, there is only node 0 of course.
> > 
> > Based on this, I have no doubt there is going to be a series of broken 
> > boots while stuff like this gets rattled out. For the moment, NUMA on 
> > x86 32-bit should remain CONFIG_EXPERIMENTAL.
> 
> thanks, applied.
> 

Sorry, there was a screwup on my behalf. The version I sent still had a
stray static inline in it.  It will fail to compile without this.

diff -rup -X /usr/src/patchset-0.6/bin//dontdiff 
linux-2.6.24-rc8-015_remap_discontigmem/arch/x86/mm/discontig_32.c 
linux-2.6.24-rc8-015_remap_discontigmem-fix/arch/x86/mm/discontig_32.c
--- linux-2.6.24-rc8-015_remap_discontigmem/arch/x86/mm/discontig_32.c  
2008-01-22 12:27:52.000000000 +0000
+++ linux-2.6.24-rc8-015_remap_discontigmem-fix/arch/x86/mm/discontig_32.c      
2008-01-22 12:28:39.000000000 +0000
@@ -485,7 +485,7 @@ EXPORT_SYMBOL_GPL(memory_add_physaddr_to
  * not set. There are functions in srat_64.c for parsing this table
  * and it may be possible to make them common functions.
  */
-static inline void acpi_numa_slit_init (struct acpi_table_slit *slit)
+void acpi_numa_slit_init (struct acpi_table_slit *slit)
 {
        printk(KERN_INFO "ACPI: No support for parsing SLIT table\n");
 }

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to