Re: [PATCH] x86: numa: drop ZONE_ALIGN

From: David Rientjes
Date: Mon Jun 09 2014 - 17:57:25 EST


On Mon, 9 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 displayed in the dmesg is not page aligned anymore with
your change, correct? acpi_parse_memory_affinity() does no
transformations on the table, the base address is coming strictly from the
SRAT and there is no page alignment requirement in the ACPI specification.
NODE_DATA(nid)->node_start_pfn will be correct because it does the shift
for you, but it still seems you want to at least align to PAGE_SIZE here.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/