浏览代码

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>
Volodymyr G. Lukiianyk 14 年之前
父节点
当前提交
ecb256f815
共有 1 个文件被更改,包括 10 次插入3 次删除
  1. 10 3
      mm/page_alloc.c

+ 10 - 3
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)
 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);
 early_param("numa_zonelist_order", setup_numa_zonelist_order);