Reza Arbab
39fa104d5b
mm: remove x86-only restriction of movable_node
In commit c5320926e3 ("mem-hotplug: introduce movable_node boot
option"), the memblock allocation direction is changed to bottom-up and
then back to top-down like this:
1. memblock_set_bottom_up(true), called by cmdline_parse_movable_node().
2. memblock_set_bottom_up(false), called by x86's numa_init().
Even though (1) occurs in generic mm code, it is wrapped by #ifdef
CONFIG_MOVABLE_NODE, which depends on X86_64.
This means that when we extend CONFIG_MOVABLE_NODE to non-x86 arches,
things will be unbalanced. (1) will happen for them, but (2) will not.
This toggle was added in the first place because x86 has a delay between
adding memblocks and marking them as hotpluggable. Since other arches
do this marking either immediately or not at all, they do not require
the bottom-up toggle.
So, resolve things by moving (1) from cmdline_parse_movable_node() to
x86's setup_arch(), immediately after the movable_node parameter has
been parsed.
Link: http://lkml.kernel.org/r/1479160961-25840-3-git-send-email-arbab@linux.vnet.ibm.com
Signed-off-by: Reza Arbab <arbab@linux.vnet.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alistair Popple <apopple@au1.ibm.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Bharata B Rao <bharata@linux.vnet.ibm.com>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Stewart Smith <stewart@linux.vnet.ibm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-12-12 18:55:07 -08:00
..
2016-11-30 16:32:52 -08:00
2016-08-04 14:19:16 -06:00
2016-07-26 16:19:19 -07:00
2016-10-11 15:06:33 -07:00
2016-01-27 09:09:57 -05:00
2015-07-17 16:39:54 -07:00
2016-11-11 08:12:37 -08:00
2015-08-14 15:56:32 -07:00
2016-12-12 18:55:07 -08:00
2016-03-17 15:09:34 -07:00
2016-10-07 18:46:29 -07:00
2016-03-17 15:09:34 -07:00
2015-11-05 19:34:48 -08:00
2016-06-09 14:23:11 -07:00
2016-03-15 16:55:16 -07:00
2016-11-11 08:12:37 -08:00
2016-10-19 08:11:24 -07:00
2016-07-26 16:19:19 -07:00
2016-12-12 18:55:07 -08:00
2016-05-19 19:12:14 -07:00
2016-12-12 18:55:07 -08:00
2016-05-20 17:58:30 -07:00
2016-12-12 18:55:07 -08:00
2015-09-10 13:29:01 -07:00
2016-10-07 18:46:29 -07:00
2015-02-10 14:30:31 -08:00
2016-10-27 16:23:01 -07:00
2016-09-13 02:35:27 +02:00
2016-11-30 16:32:52 -08:00
2016-03-17 15:09:34 -07:00
2016-03-17 15:09:34 -07:00
2016-12-12 18:55:07 -08:00
2016-10-07 18:46:29 -07:00
2016-10-27 18:43:42 -07:00
2016-05-22 17:21:27 -07:00
2016-12-12 18:55:07 -08:00
2016-10-12 10:23:41 -07:00
2016-10-11 15:06:33 -07:00
2016-12-12 18:55:06 -08:00
2016-12-12 18:55:07 -08:00
2016-11-11 08:12:37 -08:00
2016-12-12 18:55:07 -08:00
2016-12-12 18:55:07 -08:00
2016-07-28 16:07:41 -07:00
2015-09-08 15:35:28 -07:00
2016-12-12 18:55:07 -08:00
2016-10-07 18:46:28 -07:00
2016-11-30 16:32:52 -08:00
2016-03-17 15:09:34 -07:00
2016-10-07 18:46:29 -07:00
2016-04-28 11:44:19 +02:00
2016-03-17 15:09:34 -07:00
2016-05-19 19:12:14 -07:00
2016-12-12 18:55:07 -08:00
2016-11-29 08:20:24 -08:00
2015-11-05 19:34:48 -08:00
2016-10-11 15:06:33 -07:00
2016-10-24 19:13:20 -07:00
2016-10-07 18:46:29 -07:00
2016-12-12 18:55:07 -08:00
2015-11-05 19:34:48 -08:00
2016-10-07 18:46:27 -07:00
2016-07-28 16:07:41 -07:00
2016-10-07 18:46:29 -07:00
2016-10-07 18:46:29 -07:00
2016-10-07 18:46:27 -07:00
2016-06-03 15:06:22 -07:00
2016-10-07 18:46:28 -07:00
2016-01-15 17:56:32 -08:00
2016-03-17 15:09:34 -07:00
2014-09-02 14:46:02 -04:00
2016-10-05 11:52:55 -04:00
2016-03-17 15:09:34 -07:00
2016-10-18 14:13:37 -07:00
2016-03-17 15:09:34 -07:00
2016-08-26 17:39:35 -07:00
2016-08-10 16:40:56 -07:00
2016-12-12 18:55:07 -08:00
2016-12-12 18:55:06 -08:00
2016-12-12 18:55:07 -08:00
2016-12-12 18:55:07 -08:00
2016-12-12 18:55:06 -08:00
2016-12-12 18:55:06 -08:00
2016-08-02 17:31:41 -04:00
2016-08-02 17:31:41 -04:00
2016-03-17 15:09:34 -07:00
2016-10-07 18:46:28 -07:00
2016-10-07 18:46:28 -07:00
2016-11-11 08:12:37 -08:00
2016-11-30 16:32:52 -08:00
2016-09-20 16:07:39 -07:00
2016-04-04 10:41:08 -07:00
2016-10-22 09:39:10 -07:00
2016-10-07 18:46:27 -07:00
2016-12-12 18:55:07 -08:00
2016-02-03 08:28:43 -08:00
2016-12-12 18:55:07 -08:00
2016-10-07 18:46:30 -07:00
2016-12-02 18:48:03 -08:00
2016-06-03 16:02:55 -07:00
2016-01-15 11:40:52 -08:00
2015-11-06 17:50:42 -08:00
2016-07-28 16:07:41 -07:00
2016-05-20 17:58:30 -07:00