Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01f13bd6 authored by Lai Jiangshan's avatar Lai Jiangshan Committed by Linus Torvalds
Browse files

mempolicy: use N_MEMORY instead N_HIGH_MEMORY



N_HIGH_MEMORY stands for the nodes that has normal or high memory.
N_MEMORY stands for the nodes that has any memory.

The code here need to handle with the nodes which have memory, we should
use N_MEMORY instead.

Signed-off-by: default avatarLai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: default avatarWen Congyang <wency@cn.fujitsu.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Hillf Danton <dhillf@gmail.com>
Cc: Lin Feng <linfeng@cn.fujitsu.com>
Cc: David Rientjes <rientjes@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 389162c2
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -212,9 +212,9 @@ static int mpol_set_nodemask(struct mempolicy *pol,
	/* if mode is MPOL_DEFAULT, pol is NULL. This is right. */
	/* if mode is MPOL_DEFAULT, pol is NULL. This is right. */
	if (pol == NULL)
	if (pol == NULL)
		return 0;
		return 0;
	/* Check N_HIGH_MEMORY */
	/* Check N_MEMORY */
	nodes_and(nsc->mask1,
	nodes_and(nsc->mask1,
		  cpuset_current_mems_allowed, node_states[N_HIGH_MEMORY]);
		  cpuset_current_mems_allowed, node_states[N_MEMORY]);


	VM_BUG_ON(!nodes);
	VM_BUG_ON(!nodes);
	if (pol->mode == MPOL_PREFERRED && nodes_empty(*nodes))
	if (pol->mode == MPOL_PREFERRED && nodes_empty(*nodes))
@@ -1388,7 +1388,7 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
		goto out_put;
		goto out_put;
	}
	}


	if (!nodes_subset(*new, node_states[N_HIGH_MEMORY])) {
	if (!nodes_subset(*new, node_states[N_MEMORY])) {
		err = -EINVAL;
		err = -EINVAL;
		goto out_put;
		goto out_put;
	}
	}
@@ -2326,7 +2326,7 @@ void __init numa_policy_init(void)
	 * fall back to the largest node if they're all smaller.
	 * fall back to the largest node if they're all smaller.
	 */
	 */
	nodes_clear(interleave_nodes);
	nodes_clear(interleave_nodes);
	for_each_node_state(nid, N_HIGH_MEMORY) {
	for_each_node_state(nid, N_MEMORY) {
		unsigned long total_pages = node_present_pages(nid);
		unsigned long total_pages = node_present_pages(nid);


		/* Preserve the largest node */
		/* Preserve the largest node */
@@ -2407,7 +2407,7 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context)
		*nodelist++ = '\0';
		*nodelist++ = '\0';
		if (nodelist_parse(nodelist, nodes))
		if (nodelist_parse(nodelist, nodes))
			goto out;
			goto out;
		if (!nodes_subset(nodes, node_states[N_HIGH_MEMORY]))
		if (!nodes_subset(nodes, node_states[N_MEMORY]))
			goto out;
			goto out;
	} else
	} else
		nodes_clear(nodes);
		nodes_clear(nodes);
@@ -2441,7 +2441,7 @@ int mpol_parse_str(char *str, struct mempolicy **mpol, int no_context)
		 * Default to online nodes with memory if no nodelist
		 * Default to online nodes with memory if no nodelist
		 */
		 */
		if (!nodelist)
		if (!nodelist)
			nodes = node_states[N_HIGH_MEMORY];
			nodes = node_states[N_MEMORY];
		break;
		break;
	case MPOL_LOCAL:
	case MPOL_LOCAL:
		/*
		/*