Re: [PATCH v6 00/15] memory-hotplug: hot-remove physical memory

From: Tang Chen
Date: Thu Jan 31 2013 - 20:58:10 EST


On 02/01/2013 09:36 AM, Simon Jeons wrote:
On Fri, 2013-02-01 at 09:32 +0800, Jianguo Wu wrote:

So if config NUMA, kernel memory will not be linear mapping anymore? For
example,

Node 0 Node 1

0 ~ 10G 11G~14G

It has nothing to do with linear mapping, I think.


kernel memory only at Node 0? Can part of kernel memory also at Node 1?

Please refer to find_zone_movable_pfns_for_nodes().
The kernel is not only on node0. It uses all the online nodes evenly. :)


How big is kernel direct mapping memory in x86_64? Is there max limit?


Max kernel direct mapping memory in x86_64 is 64TB.

For example, I have 8G memory, all of them will be direct mapping for
kernel? then userspace memory allocated from where?

I think you misunderstood what Wu tried to say. :)

The kernel mapped that large space, it doesn't mean it is using that large space.
The mapping is to make kernel be able to access all the memory, not for the kernel
to use only. User space can also use the memory, but each process has its own mapping.

For example:

64TB, what ever xxxTB, what ever
logic address space: |_____kernel_______|_________user_________________|
\ \ / /
\ /\ /
physical address space: |___\/__\/_____________| 4GB or 8GB, what ever
*****

The ***** part physical is mapped to user space in the process' own pagetable.
It is also direct mapped in kernel's pagetable. So the kernel can also access it. :)



It seems that only around 896MB on x86_32.


We need firmware take part in, such as SRAT in ACPI BIOS, or the firmware
based memory migration mentioned by Liu Jiang.

Is there any material about firmware based memory migration?

No, I don't have any because this is a functionality of machine from HUAWEI.
I think you can ask Liu Jiang or Wu Jianguo to share some with you. :)

Thanks. :)
--
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/