Re: [PATCH part5 1/7] x86: get pg_data_t's memory from other node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/12/2013 10:39 PM, Tejun Heo wrote:
Hello,

The subject is a bit misleading.  Maybe it should say "allow getting
..." rather than "get ..."?

Ok, followed.


On Thu, Aug 08, 2013 at 06:16:13PM +0800, Tang Chen wrote:
......

I suppose the above three paragraphs are trying to say

* A hotpluggable NUMA node may be composed of multiple memory devices
   which individually are hot-pluggable.

* pg_data_t and page tables the serving a NUMA node may be located in
   the same node they're serving; however, if the node is composed of
   multiple hotpluggable memory devices, the device containing them
   should be the last one to be removed.

* For physical memory hotplug, whole NUMA node hotunplugging is fine;
   however, in virtualizied environments, finer grained hotunplugging
   is desirable; unfortunately, there currently is no way to which
   specific memory device pg_data_t and page tables are allocated
   inside making it impossible to order unpluggings of memory devices
   of a NUMA node.  To avoid the ordering problem while allowing
   removal of subset fo a NUMA node, it has been decided that pg_data_t
   and page tables should be allocated on a different non-hotpluggable
   NUMA node.

Am I following it correctly?  If so, can you please update the
description?  It's quite confusing.

Yes, you are right. I'll update the description.

Also, the decision seems rather
poorly made.  It should be trivial to allocate memory for pg_data_t
and page tables in one end of the NUMA node and just record the
boundary to distinguish between the area which can be removed any time
and the other which can only be removed as a unit as the last step.

We have tried, but the hot-remove path is difficult to fix.

Please refer to:
https://lkml.org/lkml/2013/6/13/249

Actually, the above patch-set can achieve movable node, what you said.
But we have the following problems:

1. The device holding pagetable cannot be removed before other devices.
   In virtualization environment, it could be prlblematic.
   (https://lkml.org/lkml/2013/6/18/527)

2. It will break the semanteme of memory_block online/offline. If part
   of the memory_block is pagetable, and it is offlined, what status
   it should have ? My patches set it to offline, but the kernel
   is still using the memory.


I'm not saying it is not fixable. But we finally came to that we
may do the movable node in the current way and then improve it,
including local pgdat and pagetable. We need more discussion on that.
But it should not block the memory hotplug developping.

I suggest to do movable node in the current way first, and improve
it after this is done.

Thanks.


--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]