Files
kernel/include/linux
Reza Arbab df429ac039 memory-hotplug: more general validation of zone during online
When memory is onlined, we are only able to rezone from ZONE_MOVABLE to
ZONE_KERNEL, or from (ZONE_MOVABLE - 1) to ZONE_MOVABLE.

To be more flexible, use the following criteria instead; to online
memory from zone X into zone Y,

* Any zones between X and Y must be unused.
* If X is lower than Y, the onlined memory must lie at the end of X.
* If X is higher than Y, the onlined memory must lie at the start of X.

Add zone_can_shift() to make this determination.

Link: http://lkml.kernel.org/r/1462816419-4479-3-git-send-email-arbab@linux.vnet.ibm.com
Signed-off-by: Reza Arbab <arbab@linux.vnet.ibm.com>
Reviewd-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Daniel Kiper <daniel.kiper@oracle.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Tang Chen <tangchen@cn.fujitsu.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: David Rientjes <rientjes@google.com>
Cc: Andrew Banman <abanman@sgi.com>
Cc: Chen Yucong <slaoub@gmail.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Zhang Zhen <zhenzhang.zhang@huawei.com>
Cc: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-07-26 16:19:19 -07:00
..
2016-07-04 17:19:22 +05:30
2016-07-04 08:19:21 -07:00
2016-06-07 22:07:09 -04:00
2016-06-01 14:56:57 -07:00
2016-06-28 10:22:02 +02:00
2016-06-25 09:04:48 -07:00
2016-07-26 16:19:19 -07:00
2016-05-31 22:12:43 +05:30
2016-05-17 15:48:12 -04:00
2016-07-13 11:53:40 -07:00
2016-05-11 19:31:40 -04:00
2016-05-11 22:37:54 +02:00
2016-06-15 16:00:05 -07:00
2016-05-19 19:12:14 -07:00
2016-05-17 15:48:12 -04:00
2016-05-17 15:47:55 -04:00
2016-05-23 17:04:14 -07:00
2016-05-23 17:04:14 -07:00
2016-05-19 19:12:14 -07:00
2016-06-23 18:37:05 +02:00
2016-07-26 16:19:19 -07:00
2016-07-26 16:19:19 -07:00
2016-05-08 23:46:14 -04:00
2016-05-20 17:58:30 -07:00
2016-05-19 19:12:14 -07:00
2016-06-20 12:47:15 -07:00
2016-05-23 17:04:14 -07:00
2016-05-20 17:58:30 -07:00
2016-06-25 09:04:48 -07:00