On Sun, 8 Jun 2014 15:25:50 -0700 (PDT) David Rientjes <rientjes@xxxxxxxxxx> wrote: > On Sun, 8 Jun 2014, Luiz Capitulino wrote: > > > diff --git a/arch/x86/include/asm/numa.h b/arch/x86/include/asm/numa.h > > index 4064aca..01b493e 100644 > > --- a/arch/x86/include/asm/numa.h > > +++ b/arch/x86/include/asm/numa.h > > @@ -9,7 +9,6 @@ > > #ifdef CONFIG_NUMA > > > > #define NR_NODE_MEMBLKS (MAX_NUMNODES*2) > > -#define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT)) > > > > /* > > * Too small node sizes may confuse the VM badly. Usually they > > diff --git a/arch/x86/mm/numa.c b/arch/x86/mm/numa.c > > index 1d045f9..69f6362 100644 > > --- a/arch/x86/mm/numa.c > > +++ b/arch/x86/mm/numa.c > > @@ -200,8 +200,6 @@ static void __init setup_node_data(int nid, u64 start, u64 end) > > if (end && (end - start) < NODE_MIN_SIZE) > > return; > > > > - start = roundup(start, ZONE_ALIGN); > > - > > printk(KERN_INFO "Initmem setup node %d [mem %#010Lx-%#010Lx]\n", > > nid, start, end - 1); > > > > What ensures this start address is page aligned from the BIOS? To which start address do you refer to? The start address passed to setup_node_data() comes from memblks registered when the SRAT table is parsed. Those memblks get some transformations between the parsing of the SRAT table and this point. I haven't checked them in detail to see if they are aligned at some point. But no alignment is enforced in the code that adds the memblks read from the SRAT table, which is acpi_numa_memory_affinity_init(). -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html