linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/3 V1 resend] mm: add new migrate type and online_movable for hotplug
@ 2012-07-04  8:38 Lai Jiangshan
  2012-07-04  8:38 ` [RFC PATCH 1/3 V1 resend] mm, page_alloc: use __rmqueue_smallest when borrow memory from MIGRATE_CMA Lai Jiangshan
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Lai Jiangshan @ 2012-07-04  8:38 UTC (permalink / raw)
  To: Mel Gorman
  Cc: Chris Metcalf, Len Brown, Greg Kroah-Hartman, Andi Kleen,
	Julia Lawall, David Howells, Lai Jiangshan,
	Benjamin Herrenschmidt, Kay Sievers, Ingo Molnar, Paul Gortmaker,
	Daniel Kiper, Andrew Morton, Konrad Rzeszutek Wilk, Michal Hocko,
	KAMEZAWA Hiroyuki, Minchan Kim, Michal Nazarewicz,
	Marek Szyprowski, Rik van Riel, Bjorn Helgaas, Christoph Lameter,
	David Rientjes, linux-kernel, linux-acpi, linux-mm

This patchset adds a stable-movable-migrate-type 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).

it likes ZONE_MOVABLE, but it is more flexible.

o	The 1st patch fixes the allocation of CMA and do prepares
	for movable-like types.

o	The 2nd patch add a new migrate type which stands for the movable types
	which pages will not be changed to the other type.

	I chose the name MIGRATE_HOTREMOVE from MIGRATE_HOTREMOVE
	and MIGRATE_MOVABLE_STABLE, it just because the first usecase of
	this new type is for hotremove.

o	The 3th path introduces online_movable. When a memoryblock is onlined
	by "online_movable", the kernel will not have directly reference to
	the page of the memoryblock, thus we can remove that memory any time
	when needed.

	Different from ZONE_MOVABLE: it can be used for any given memroyblock.
	it can be set after boot(ZONE_MOVABLE zones are configured when booting)

Lai Jiangshan (3):
  use __rmqueue_smallest when borrow memory from MIGRATE_CMA
  add MIGRATE_HOTREMOVE type
  add online_movable

 arch/tile/mm/init.c            |    2 +-
 drivers/acpi/acpi_memhotplug.c |    3 +-
 drivers/base/memory.c          |   24 +++++++----
 include/linux/memory.h         |    1 +
 include/linux/memory_hotplug.h |    4 +-
 include/linux/mmzone.h         |   37 +++++++++++++++++
 include/linux/page-isolation.h |    2 +-
 mm/compaction.c                |    6 +-
 mm/memory-failure.c            |    8 +++-
 mm/memory_hotplug.c            |   36 +++++++++++++---
 mm/page_alloc.c                |   86 ++++++++++++++++-----------------------
 mm/vmstat.c                    |    3 +
 12 files changed, 136 insertions(+), 76 deletions(-)

-- 
1.7.4.4

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

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

end of thread, other threads:[~2012-07-04  8:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-04  8:38 [RFC PATCH 0/3 V1 resend] mm: add new migrate type and online_movable for hotplug Lai Jiangshan
2012-07-04  8:38 ` [RFC PATCH 1/3 V1 resend] mm, page_alloc: use __rmqueue_smallest when borrow memory from MIGRATE_CMA Lai Jiangshan
2012-07-04  8:38 ` [RFC PATCH 2/3 V1 resend] mm, page migrate: add MIGRATE_HOTREMOVE type Lai Jiangshan
2012-07-04  8:38 ` [RFC PATCH 3/3 V1 resend] mm, memory-hotplug: add online_movable Lai Jiangshan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox