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-10-11 16:19:17 -06:00
2016-11-11 16:48:49 -08:00
2016-09-23 13:07:15 -06:00
2016-10-02 01:40:20 +02:00
2016-10-14 15:17:12 -07:00
2016-10-03 08:58:35 -07:00
2016-09-23 11:52:32 -06:00
2016-10-10 07:12:02 -06:00
2016-09-14 08:44:57 -06:00
2016-07-26 16:19:19 -07:00
2016-08-07 10:23:17 -04:00
2015-04-14 16:49:00 -07:00
2016-04-28 07:47:35 -06:00
2016-09-08 23:05:07 +02:00
2016-05-31 16:41:55 +08:00
2016-10-11 15:06:33 -07:00
2016-09-21 15:43:09 -06:00
2016-10-17 16:41:31 -04:00
2016-12-08 13:07:10 -05:00
2016-08-08 08:11:42 +05:30
2016-10-14 14:11:22 -07:00
2016-09-06 09:15:48 -06:00
2016-11-15 22:34:25 -05:00
2015-12-03 11:49:23 -05:00
2016-05-10 12:05:27 +03:00
2016-10-13 17:19:19 +02:00
2016-10-30 13:09:42 -04:00
2016-04-28 07:51:59 -06:00
2015-10-07 18:07:20 +01:00
2016-10-20 14:14:11 +02:00
2016-10-11 18:12:22 -07:00
2016-08-17 11:13:07 +02:00
2016-09-08 21:34:17 -07:00
2016-11-10 21:18:56 +01:00
2016-09-20 09:58:12 -06:00
2016-10-01 00:49:58 -06:00
2016-10-02 08:42:19 -04:00
2016-10-04 11:47:02 -07:00
2016-09-06 06:00:22 -06:00
2016-03-05 15:00:38 -08:00
2016-04-16 10:49:08 -06:00
2016-10-14 14:26:58 -07:00
2016-09-20 18:02:54 -06:00
2016-08-12 08:24:14 +02:00
2016-09-23 13:07:21 -06:00
2016-10-04 10:25:53 -07:00
2016-08-18 23:41:56 +02:00
2016-09-22 15:25:56 +02:00
2016-10-05 16:43:53 -03:00
2016-09-20 12:38:48 -06:00
2016-09-23 11:51:43 -06:00
2016-07-25 10:34:51 +02:00
2015-11-17 17:05:14 -08:00
2016-12-10 23:29:11 -05:00
2015-06-08 23:15:45 +02:00
2016-06-17 16:23:23 -07:00
2015-08-05 13:43:45 -07:00
2016-10-07 11:46:37 -07:00
2016-09-23 13:07:27 -06:00
2016-09-15 11:20:55 -07:00
2016-10-06 18:21:15 -07:00
2016-10-07 20:19:31 -07:00
2016-04-28 07:23:59 -06:00
2016-09-20 09:09:09 -06:00
2016-09-20 09:54:38 -06:00
2016-09-01 17:52:02 -07:00
2016-11-14 10:39:48 -08:00
2016-06-13 15:58:23 +02:00
2016-09-10 11:17:41 +02:00
2016-09-29 21:52:43 -04:00
2016-07-26 13:05:11 -07:00
2016-08-18 11:08:33 -06:00
2016-07-26 10:35:31 +02:00
2016-09-19 16:36:41 -03:00
2016-10-04 13:54:07 -07:00
2016-10-10 07:12:09 -06:00
2016-09-30 12:46:48 -05:00
2016-05-10 01:19:26 -07:00
2016-09-27 14:02:16 +08:00
2016-10-10 07:12:09 -06:00
2016-06-25 17:26:35 +03:00
2016-10-06 11:48:41 -07:00
2016-06-23 08:09:10 -06:00
2016-11-22 12:48:09 +01:00
2016-08-07 10:23:17 -04:00
2016-05-01 14:37:49 -07:00
2016-10-14 15:17:12 -07:00
2016-10-10 11:01:51 -07:00
2016-07-24 06:33:58 +03:00
2016-07-20 16:45:37 -06:00
2016-06-30 13:07:33 -06:00
2016-10-10 07:12:09 -06:00
2016-04-18 11:31:49 -06:00
2016-09-20 18:46:36 -06:00
2015-09-13 10:35:46 +02:00
2016-06-23 07:58:38 -06:00
2016-03-30 14:12:22 -07:00
2015-02-10 14:30:31 -08:00
2016-03-21 10:05:13 -07:00
2016-09-20 18:46:36 -06:00
2016-08-14 12:12:36 -06:00
2016-10-01 00:57:13 -06:00
2016-09-21 15:53:31 -06:00
2016-10-11 13:22:22 -07:00
2015-12-10 11:35:30 -07:00
2016-06-13 15:58:27 +02:00
2015-06-22 10:14:05 -06:00
2016-03-29 10:11:44 -07:00
2016-09-20 17:58:46 -06:00
2016-09-26 22:16:41 +05:30
2016-10-11 15:06:32 -07:00
2016-03-21 09:26:45 +01:00
2016-08-14 11:52:40 -06:00
2016-06-07 22:57:10 +02:00
2015-11-26 14:46:06 +01:00
2015-12-14 15:24:03 +00:00
2016-09-21 15:41:50 -06:00
2015-01-19 12:05:32 +01:00
2016-06-07 22:57:10 +02:00
2016-09-20 18:46:36 -06:00
2015-09-21 22:00:41 +08:00
2015-05-02 09:54:30 +03:00
2016-10-11 16:19:17 -06:00
2016-01-29 12:32:12 +01:00
2015-11-16 06:28:43 -06:00
2016-03-31 00:32:59 -06:00
2016-05-02 09:32:04 -07:00
2016-07-20 16:45:37 -06:00
2016-09-20 18:54:42 -06:00
2016-10-04 13:54:07 -07:00
2016-12-12 18:55:07 -08:00
2016-08-03 15:43:58 -06:00
2016-08-15 10:19:11 -06:00
2016-09-20 08:58:27 -06:00
2014-12-13 12:42:53 -08:00
2015-11-05 19:34:48 -08:00
2016-04-28 07:23:11 -06:00
2015-05-13 15:39:04 -04:00
2015-08-13 18:03:18 -06:00
2016-10-10 07:12:02 -06:00
2016-09-01 08:49:23 -06:00
2016-09-20 18:41:04 -06:00
2016-05-04 12:39:35 -07:00
2016-06-23 08:08:36 -06:00
2016-08-12 08:24:13 +02:00
2016-05-19 19:12:14 -07:00
2015-07-24 15:15:17 +02:00
2016-07-27 12:38:00 +09:30
2015-01-20 14:02:58 -07:00
2015-07-04 14:09:25 -04:00
2014-12-22 15:40:48 +01:00
2016-04-29 16:39:39 +02:00
2016-06-23 10:50:10 +02:00
2015-05-19 15:47:18 +02:00
2016-03-15 16:55:16 -07:00
2016-05-17 14:48:04 +02:00
2016-08-05 11:21:36 -07:00
2015-09-13 14:38:50 -06:00
2016-10-02 22:50:21 -07:00
2016-02-24 09:13:12 +01:00
2016-04-28 07:26:41 -06:00
2016-05-06 11:09:01 -07:00
2016-03-14 17:08:16 +01:00
2016-09-20 18:41:04 -06:00
2016-09-20 18:41:04 -06:00
2016-09-21 15:43:09 -06:00
2016-09-07 09:41:11 +01:00
2016-09-21 15:43:09 -06:00
2016-09-21 15:43:09 -06:00
2016-09-21 15:43:09 -06:00
2016-08-11 15:33:24 +05:30
2016-04-28 08:02:36 -06:00
2015-06-11 15:16:55 +10:00
2016-08-31 13:20:16 +02:00
2016-07-06 02:37:38 -06:00
2016-04-28 07:44:54 -06:00