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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]