Lai Jiangshan
511c2aba8f
mm, memory-hotplug: dynamic configure movable memory and portion memory
...
Add online_movable and online_kernel for logic memory hotplug. This is
the dynamic version of "movablecore" & "kernelcore".
We have the same reason to introduce it as to introduce "movablecore" &
"kernelcore". It has the same motive as "movablecore" & "kernelcore", but
it is dynamic/running-time:
o We can configure memory as kernelcore or movablecore after boot.
Userspace workload is increased, we need more hugepage, we can't use
"online_movable" to add memory and allow the system use more
THP(transparent-huge-page), vice-verse when kernel workload is increase.
Also help for virtualization to dynamic configure host/guest's memory,
to save/(reduce waste) memory.
Memory capacity on Demand
o When a new node is physically online after boot, we need to use
"online_movable" or "online_kernel" to configure/portion it as we
expected when we logic-online it.
This configuration also helps for physically-memory-migrate.
o all benefit as the same as existed "movablecore" & "kernelcore".
o Preparing for movable-node, which is very important for power-saving,
hardware partitioning and high-available-system(hardware fault
management).
(Note, we don't introduce movable-node here.)
Action behavior:
When a memoryblock/memorysection 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.
When it is online by "online_kernel", the kernel can use it.
When it is online by "online", the zone type doesn't changed.
Current constraints:
Only the memoryblock which is adjacent to the ZONE_MOVABLE
can be online from ZONE_NORMAL to ZONE_MOVABLE.
[akpm@linux-foundation.org: use min_t, cleanups]
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Jiang Liu <jiang.liu@huawei.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Minchan Kim <minchan.kim@gmail.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: David Rientjes <rientjes@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-12-11 17:22:28 -08:00
..
2012-10-09 15:04:25 +01:00
2012-10-17 12:31:15 +01:00
2012-10-17 12:31:15 +01:00
2012-10-08 06:38:18 +09:00
2012-10-17 10:00:29 -03:00
2012-10-09 09:48:44 +01:00
2012-10-11 10:27:51 +09:00
2012-10-19 16:12:38 +01:00
2012-10-17 12:31:15 +01:00
2012-10-29 11:05:12 -07:00
2012-12-11 11:19:09 -08:00
2012-10-09 15:04:25 +01:00
2012-10-17 12:31:15 +01:00
2012-10-17 12:31:15 +01:00
2012-10-17 12:31:15 +01:00
2012-10-17 12:31:15 +01:00
2012-10-17 12:31:15 +01:00
2012-10-17 12:31:15 +01:00
2012-11-21 08:55:26 +01:00
2012-12-11 11:25:08 -08:00
2012-10-07 17:29:24 +09:00
2012-10-09 09:49:02 +01:00
2012-11-21 13:09:56 -08:00
2012-10-17 12:31:15 +01:00
2012-10-17 12:31:15 +01:00
2012-10-13 14:15:08 -07:00
2012-10-17 12:31:15 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-08 13:50:19 +10:30
2012-10-08 13:50:20 +10:30
2012-10-08 13:50:19 +10:30
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-09 16:22:46 +09:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:26 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:28 -08:00
2012-10-13 10:46:48 +01:00
2012-11-26 17:41:24 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 11:25:08 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-09 16:22:51 +09:00
2012-10-10 12:02:25 +09:00
2012-10-12 10:27:27 +09:00
2012-10-13 10:46:48 +01:00
2012-10-12 06:37:36 -05:00
2012-10-19 14:07:47 -07:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 09:28:09 +01:00
2012-10-24 15:57:14 -07:00
2012-11-28 11:54:40 +01:00
2012-10-13 10:46:48 +01:00
2012-10-16 18:49:15 -07:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-22 11:28:10 +09:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:26 -08:00
2012-10-13 10:46:48 +01:00
2012-10-12 00:32:03 -04:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:22 -08:00
2012-11-21 10:07:48 +01:00
2012-11-02 12:44:51 -07:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:24 -08:00
2012-12-11 17:22:25 -08:00
2012-11-19 22:21:03 +00:00
2012-10-06 13:14:36 +02:00
2012-10-13 10:46:48 +01:00
2012-10-05 22:23:54 +02:00
2012-10-05 22:23:51 +02:00
2012-11-14 11:54:41 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-09 16:22:40 +09:00
2012-10-09 16:22:39 +09:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-12 22:17:48 +09:00
2012-10-13 10:46:48 +01:00
2012-10-17 12:31:15 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:22 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-08 13:49:48 +10:30
2012-10-13 10:46:48 +01:00
2012-10-31 20:36:30 -02:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-10 20:14:07 +09:00
2012-10-10 01:15:44 -04:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-24 11:52:21 -07:00
2012-10-11 08:50:16 +09:00
2012-12-11 17:22:28 -08:00
2012-12-11 17:22:23 -08:00
2012-12-06 11:56:43 -08:00
2012-12-11 17:22:27 -08:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:25 -08:00
2012-12-11 17:22:25 -08:00
2012-10-13 10:46:48 +01:00
2012-10-09 16:22:58 +09:00
2012-12-11 17:22:27 -08:00
2012-10-10 20:00:55 +10:30
2012-10-08 13:50:21 +10:30
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-07 14:39:29 -05:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:27 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-11-23 22:01:15 +00:00
2012-10-17 15:53:02 -05:00
2012-10-10 22:41:05 -04:00
2012-11-30 10:04:06 +00:00
2012-10-08 13:50:18 +10:30
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:27 -08:00
2012-12-11 17:22:22 -08:00
2012-10-11 08:50:14 +09:00
2012-12-11 17:22:26 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-05 22:23:53 +02:00
2012-10-13 10:46:48 +01:00
2012-11-28 07:33:50 -08:00
2012-10-24 10:01:59 +02:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-19 14:07:47 -07:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-11-03 15:27:07 -04:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-25 14:37:52 -07:00
2012-10-09 16:22:40 +09:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-11-16 14:33:04 -08:00
2012-10-09 16:22:43 +09:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:27 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-11 20:02:04 -04:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:25 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-07 00:40:54 -04:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-09 16:22:55 +09:00
2012-10-13 10:46:48 +01:00
2012-10-12 13:35:07 -04:00
2012-10-13 10:46:48 +01:00
2012-10-22 15:16:06 -04:00
2012-10-13 10:46:48 +01:00
2012-10-09 16:22:32 +09:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:27 -08:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-07 21:19:42 +02:00
2012-10-17 11:16:13 -07:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-09 11:24:47 +01:00
2012-10-09 16:22:59 +09:00
2012-10-09 16:22:59 +09:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-10-13 10:46:48 +01:00
2012-12-11 17:22:21 -08:00
2012-10-13 10:46:48 +01:00