RE: [Lhms-devel] Re: [RFC:PATCH(003/003)] Memory add to onlined node. (ver. 2) (For x86_64)

From: Tolentino, Matthew E
Date: Thu Feb 09 2006 - 09:25:21 EST


Yasunori Goto <> wrote:
> BTW, I have 2 question about x86_64's memory hot-add.
>
> Q1)
>> int add_memory(u64 start, u64 size)
>> {
>> - struct pglist_data *pgdat = NODE_DATA(0);
>> - struct zone *zone = pgdat->node_zones + MAX_NR_ZONES-2;
>
> Current code adds memory to ZONE_NORMAL like this.
> But, ZONE_DMA32 is available on 2.6.15. So, I'm afraid there are
> 2 types trouble.
>
> a) When new memory is added to < 4GB, this should be added to
> Zone_DMA32.
> Are there any real machine which allow to add memory under
> 4GB?

The Intel machine that supports this will not hot-add memory in
the physical address space below 4GB, even if you only have 1GB
before hot-adding. There are too many restrictions and gotchas
involved in the lower 4GB. Keith has the only other machine that
I'm aware of and I would guess that machine has similar restrictions.
Keith?

> b) If machine boots up with under 4GB memory, and new memory
> is added to over 4GB, then kernel might panic due to Zone
> Normal's initialization is imcomplete.

I do recall a problem like that a while back where the free lists
weren't initialized properly before hot-adding. It was fixed
when I submitted the hot-add patches, but I haven't looked in the
past two weeks or so.

> Q2)
> Are there any real machine which can add memory with NUMA feature?
> Or will be there?
> In my patch, I assume that DSDT is defined well for NUMA by
> firmware. (Container device, Memory device...).

I don't currently know of one that is available, but I would
venture a guess that we would use ACPI to notify the OS, via
the DSDT or perhaps an SSDT.

matt
-
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/