diff options
author | Volodymyr G. Lukiianyk <volodymyrgl@gmail.com> | 2011-01-13 18:46:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-13 20:32:37 -0500 |
commit | ecb256f815232b35ae8382cff36ca8ce0bbd077e (patch) | |
tree | 4f488ba29b5bf860576a3a2e405607a9c32048bf /mm | |
parent | dc83edd941f412e938841b4989be24aa288a1aa6 (diff) |
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>
Diffstat (limited to 'mm')
-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) | |||
2631 | 2631 | ||
2632 | static __init int setup_numa_zonelist_order(char *s) | 2632 | static __init int setup_numa_zonelist_order(char *s) |
2633 | { | 2633 | { |
2634 | if (s) | 2634 | int ret; |
2635 | return __parse_numa_zonelist_order(s); | 2635 | |
2636 | return 0; | 2636 | if (!s) |
2637 | return 0; | ||
2638 | |||
2639 | ret = __parse_numa_zonelist_order(s); | ||
2640 | if (ret == 0) | ||
2641 | strlcpy(numa_zonelist_order, s, NUMA_ZONELIST_ORDER_LEN); | ||
2642 | |||
2643 | return ret; | ||
2637 | } | 2644 | } |
2638 | early_param("numa_zonelist_order", setup_numa_zonelist_order); | 2645 | early_param("numa_zonelist_order", setup_numa_zonelist_order); |
2639 | 2646 | ||