diff options
author | Volodymyr G. Lukiianyk <volodymyrgl@gmail.com> | 2011-01-14 02:46:26 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-14 04:32:37 +0300 |
commit | ecb256f815232b35ae8382cff36ca8ce0bbd077e (patch) | |
tree | 4f488ba29b5bf860576a3a2e405607a9c32048bf | |
parent | dc83edd941f412e938841b4989be24aa288a1aa6 (diff) | |
download | linux-ecb256f815232b35ae8382cff36ca8ce0bbd077e.tar.xz |
mm: set correct numa_zonelist_order string when configured on the kernel command line
When numa_zonelist_order parameter is set to "node" or "zone" on the
command line it's still showing as "default" in sysctl. That's because
early_param parsing function changes only user_zonelist_order variable.
Fix this by copying user-provided string to numa_zonelist_order if it was
successfully parsed.
Signed-off-by: Volodymyr G Lukiianyk <volodymyrgl@gmail.com>
Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/page_alloc.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index c31460918506..c18d1f7cff84 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2631,9 +2631,16 @@ static int __parse_numa_zonelist_order(char *s) static __init int setup_numa_zonelist_order(char *s) { - if (s) - return __parse_numa_zonelist_order(s); - return 0; + int ret; + + if (!s) + return 0; + + ret = __parse_numa_zonelist_order(s); + if (ret == 0) + strlcpy(numa_zonelist_order, s, NUMA_ZONELIST_ORDER_LEN); + + return ret; } early_param("numa_zonelist_order", setup_numa_zonelist_order); |