All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/23 V2] memory,numa: introduce MOVABLE-dedicated node and online_movable for hotplug
@ 2012-08-02  6:01 Lai Jiangshan
  2012-08-02  6:01 ` [RFC PATCH 01/23 V2] node_states: introduce N_MEMORY Lai Jiangshan
                   ` (23 more replies)
  0 siblings, 24 replies; 92+ messages in thread
From: Lai Jiangshan @ 2012-08-02  6:01 UTC (permalink / raw)
  To: Mel Gorman, linux-kernel; +Cc: Lai Jiangshan

	A) Introduction:

This patchset adds MOVABLE-dedicated node and online_movable for memory-management.

It is used for anti-fragmentation(hugepage, big-order allocation...),
hot-removal-of-memory(virtualization, power-conserve, move memory between systems
to make better utilities of memories).

	B) changed from V1:

The original V1 patchset of MOVABLE-dedicated node is here:
http://comments.gmane.org/gmane.linux.kernel.mm/78122

The new V2 adds N_MEMORY and a notion of "MOVABLE-dedicated node".
And fix some related problems.

The orignal V1 patchset of "add online_movable" is here:
https://lkml.org/lkml/2012/7/4/145

The new V2 discards the MIGRATE_HOTREMOVE approach, and use a more straight
implementation(only 1 patch).

	C) User Interface:

When users(big system manager) need config some node/memory as MOVABLE:
	1 Use kernelcore_max_addr=XX when boot
	2 Use movable_online hotplug action when running
We may introduce some more convenient interface, such as
	movable_node=NODE_LIST boot option.

	D) Patches

Patch1        introduce N_MEMORY
Patch2-13     use N_MEMORY instead N_HIGH_MEMORY.
              The patches are separated by subsystem,
              *these conversions was(must be) checked carefully*.
              Patch13 also changes the node_states initialization
Patch14,15,17 Fix problems of the current code.(all related with hotplug)
Patch18       Add config to allow MOVABLE-dedicated node
Patch19-22    Add kernelcore_max_addr
Patch23       Add online_movable


Lai Jiangshan (19):
  node_states: introduce N_MEMORY
  cpuset: use N_MEMORY instead N_HIGH_MEMORY
  procfs: use N_MEMORY instead N_HIGH_MEMORY
  oom: use N_MEMORY instead N_HIGH_MEMORY
  mm,migrate: use N_MEMORY instead N_HIGH_MEMORY
  mempolicy: use N_MEMORY instead N_HIGH_MEMORY
  memcontrol: use N_MEMORY instead N_HIGH_MEMORY
  hugetlb: use N_MEMORY instead N_HIGH_MEMORY
  vmstat: use N_MEMORY instead N_HIGH_MEMORY
  kthread: use N_MEMORY instead N_HIGH_MEMORY
  init: use N_MEMORY instead N_HIGH_MEMORY
  vmscan: use N_MEMORY instead N_HIGH_MEMORY
  page_alloc: use N_MEMORY instead N_HIGH_MEMORY and change the node_states initialization
  slub, hotplug: ignore unrelated node's hot-adding and hot-removing
  memory_hotplug: fix missing nodemask management
  numa: add CONFIG_MOVABLE_NODE for movable-dedicated node
  page_alloc.c: don't subtract unrelated memmap from zone's present pages
  page_alloc: add kernelcore_max_addr
  mm, memory-hotplug: add online_movable

Yasuaki Ishimatsu (4):
  x86: get pg_data_t's memory from other node
  x86: use memblock_set_current_limit() to set memblock.current_limit
  memblock: limit memory address from memblock
  memblock: compare current_limit with end variable at
    memblock_find_in_range_node()

 Documentation/cgroups/cpusets.txt   |    2 +-
 Documentation/kernel-parameters.txt |    9 +++
 Documentation/memory-hotplug.txt    |   16 ++++-
 arch/x86/kernel/setup.c             |    4 +-
 arch/x86/mm/init_64.c               |    4 +-
 arch/x86/mm/numa.c                  |    8 ++-
 drivers/base/memory.c               |   19 +++--
 drivers/base/node.c                 |    8 ++-
 fs/proc/kcore.c                     |    2 +-
 fs/proc/task_mmu.c                  |    4 +-
 include/linux/cpuset.h              |    2 +-
 include/linux/memblock.h            |    1 +
 include/linux/memory_hotplug.h      |   13 +++-
 include/linux/nodemask.h            |    5 ++
 init/main.c                         |    2 +-
 kernel/cpuset.c                     |   32 ++++----
 kernel/kthread.c                    |    2 +-
 mm/Kconfig                          |    8 ++
 mm/hugetlb.c                        |   24 +++---
 mm/memblock.c                       |   10 ++-
 mm/memcontrol.c                     |   18 +++---
 mm/memory_hotplug.c                 |  137 ++++++++++++++++++++++++++++++++---
 mm/mempolicy.c                      |   12 ++--
 mm/migrate.c                        |    2 +-
 mm/oom_kill.c                       |    2 +-
 mm/page_alloc.c                     |   96 +++++++++++++++----------
 mm/page_cgroup.c                    |    2 +-
 mm/slub.c                           |    6 ++
 mm/vmscan.c                         |    4 +-
 mm/vmstat.c                         |    4 +-
 30 files changed, 335 insertions(+), 123 deletions(-)


^ permalink raw reply	[flat|nested] 92+ messages in thread

end of thread, other threads:[~2012-08-23  8:22 UTC | newest]

Thread overview: 92+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-02  6:01 [RFC PATCH 00/23 V2] memory,numa: introduce MOVABLE-dedicated node and online_movable for hotplug Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 01/23 V2] node_states: introduce N_MEMORY Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 02/23 V2] cpuset: use N_MEMORY instead N_HIGH_MEMORY Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 03/23 V2] procfs: " Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 04/23 V2] oom: " Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 05/23 V2] mm,migrate: " Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02 16:09   ` Christoph Lameter
2012-08-02 16:09     ` Christoph Lameter
2012-08-02  6:01 ` [RFC PATCH 06/23 V2] mempolicy: " Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
     [not found] ` <1343887288-8866-1-git-send-email-laijs-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2012-08-02  6:01   ` [RFC PATCH 07/23 V2] memcontrol: " Lai Jiangshan
2012-08-02  6:01     ` Lai Jiangshan
2012-08-02  6:01     ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 08/23 V2] hugetlb: " Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-04 14:02   ` Hillf Danton
2012-08-04 14:02     ` Hillf Danton
2012-08-02  6:01 ` [RFC PATCH 09/23 V2] vmstat: " Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02 16:09   ` Christoph Lameter
2012-08-02 16:09     ` Christoph Lameter
2012-08-02  6:01 ` [RFC PATCH 10/23 V2] kthread: " Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 11/23 V2] init: " Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 12/23 V2] vmscan: " Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 13/23 V2] page_alloc: use N_MEMORY instead N_HIGH_MEMORY change the node_states initialization Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 14/23 V2] slub, hotplug: ignore unrelated node's hot-adding and hot-removing Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 15/23 V2] memory_hotplug: fix missing nodemask management Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 16/23 V2] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 17/23 V2] page_alloc.c: don't subtract unrelated memmap from zone's present pages Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 18/23 V2] page_alloc: add kernelcore_max_addr Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 19/23 V2] x86: get pg_data_t's memory from other node Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 20/23 V2] x86: use memblock_set_current_limit() to set memblock.current_limit Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 21/23 V2] memblock: limit memory address from memblock Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 22/23 V2] memblock: compare current_limit with end variable at memblock_find_in_range_node() Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-02  6:01 ` [RFC PATCH 23/23 V2] mm, memory-hotplug: add online_movable Lai Jiangshan
2012-08-02  6:01   ` Lai Jiangshan
2012-08-06  9:22 ` [RFC V3 PATCH 00/25] memory,numa: introduce MOVABLE-dedicated node and online_movable for hotplug Lai Jiangshan
2012-08-06  9:22   ` [RFC V3 PATCH 01/25] page_alloc.c: don't subtract unrelated memmap from zone's present pages Lai Jiangshan
2012-08-06  9:22     ` Lai Jiangshan
2012-08-06  9:22   ` [RFC V3 PATCH 02/25] memory_hotplug: fix missing nodemask management Lai Jiangshan
2012-08-06  9:22     ` Lai Jiangshan
2012-08-06  9:22   ` [RFC V3 PATCH 03/25] slub, hotplug: ignore unrelated node's hot-adding and hot-removing Lai Jiangshan
2012-08-06  9:22     ` Lai Jiangshan
2012-08-06  9:22   ` [RFC V3 PATCH 04/25] node: cleanup node_state_attr Lai Jiangshan
2012-08-06  9:22   ` [RFC V3 PATCH 05/25] node_states: introduce N_MEMORY Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 06/25] cpuset: use N_MEMORY instead N_HIGH_MEMORY Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 07/25] procfs: " Lai Jiangshan
     [not found]   ` <1344244999-5081-1-git-send-email-laijs-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2012-08-06  9:23     ` [RFC V3 PATCH 08/25] memcontrol: " Lai Jiangshan
2012-08-06  9:23       ` Lai Jiangshan
2012-08-06  9:23       ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 09/25] oom: " Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 10/25] mm,migrate: " Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 11/25] mempolicy: " Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 12/25] hugetlb: " Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 13/25] vmstat: " Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 14/25] kthread: " Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 15/25] init: " Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 16/25] vmscan: " Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 17/25] page_alloc: use N_MEMORY instead N_HIGH_MEMORY change the node_states initialization Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 18/25] hotplug: update nodemasks management Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 19/25] numa: add CONFIG_MOVABLE_NODE for movable-dedicated node Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 20/25] page_alloc: add kernelcore_max_addr Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 21/25] x86: get pg_data_t's memory from other node Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 22/25] x86: use memblock_set_current_limit() to set memblock.current_limit Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 23/25] memblock: limit memory address from memblock Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 24/25] memblock: compare current_limit with end variable at memblock_find_in_range_node() Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-06  9:23   ` [RFC V3 PATCH 25/25] mm, memory-hotplug: add online_movable and online_kernel Lai Jiangshan
2012-08-06  9:23     ` Lai Jiangshan
2012-08-23  8:22   ` [RFC V3 PATCH 00/25] memory,numa: introduce MOVABLE-dedicated node and online_movable for hotplug Yasuaki Ishimatsu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.