Lines Matching refs:nodes
146 int (*create)(struct mempolicy *pol, const nodemask_t *nodes);
161 void (*rebind)(struct mempolicy *pol, const nodemask_t *nodes,
178 static int mpol_new_interleave(struct mempolicy *pol, const nodemask_t *nodes) in mpol_new_interleave() argument
180 if (nodes_empty(*nodes)) in mpol_new_interleave()
182 pol->v.nodes = *nodes; in mpol_new_interleave()
186 static int mpol_new_preferred(struct mempolicy *pol, const nodemask_t *nodes) in mpol_new_preferred() argument
188 if (!nodes) in mpol_new_preferred()
190 else if (nodes_empty(*nodes)) in mpol_new_preferred()
193 pol->v.preferred_node = first_node(*nodes); in mpol_new_preferred()
197 static int mpol_new_bind(struct mempolicy *pol, const nodemask_t *nodes) in mpol_new_bind() argument
199 if (nodes_empty(*nodes)) in mpol_new_bind()
201 pol->v.nodes = *nodes; in mpol_new_bind()
215 const nodemask_t *nodes, struct nodemask_scratch *nsc) in mpol_set_nodemask() argument
226 VM_BUG_ON(!nodes); in mpol_set_nodemask()
227 if (pol->mode == MPOL_PREFERRED && nodes_empty(*nodes)) in mpol_set_nodemask()
228 nodes = NULL; /* explicit local allocation */ in mpol_set_nodemask()
231 mpol_relative_nodemask(&nsc->mask2, nodes, &nsc->mask1); in mpol_set_nodemask()
233 nodes_and(nsc->mask2, *nodes, nsc->mask1); in mpol_set_nodemask()
236 pol->w.user_nodemask = *nodes; in mpol_set_nodemask()
242 if (nodes) in mpol_set_nodemask()
254 nodemask_t *nodes) in mpol_new() argument
259 mode, flags, nodes ? nodes_addr(*nodes)[0] : NUMA_NO_NODE); in mpol_new()
262 if (nodes && !nodes_empty(*nodes)) in mpol_new()
266 VM_BUG_ON(!nodes); in mpol_new()
274 if (nodes_empty(*nodes)) { in mpol_new()
280 if (!nodes_empty(*nodes)) in mpol_new()
283 } else if (nodes_empty(*nodes)) in mpol_new()
303 static void mpol_rebind_default(struct mempolicy *pol, const nodemask_t *nodes, in mpol_rebind_default() argument
314 static void mpol_rebind_nodemask(struct mempolicy *pol, const nodemask_t *nodes, in mpol_rebind_nodemask() argument
320 nodes_and(tmp, pol->w.user_nodemask, *nodes); in mpol_rebind_nodemask()
322 mpol_relative_nodemask(&tmp, &pol->w.user_nodemask, nodes); in mpol_rebind_nodemask()
329 nodes_remap(tmp, pol->v.nodes, in mpol_rebind_nodemask()
330 pol->w.cpuset_mems_allowed, *nodes); in mpol_rebind_nodemask()
331 pol->w.cpuset_mems_allowed = step ? tmp : *nodes; in mpol_rebind_nodemask()
334 pol->w.cpuset_mems_allowed = *nodes; in mpol_rebind_nodemask()
340 tmp = *nodes; in mpol_rebind_nodemask()
343 nodes_or(pol->v.nodes, pol->v.nodes, tmp); in mpol_rebind_nodemask()
345 pol->v.nodes = tmp; in mpol_rebind_nodemask()
359 const nodemask_t *nodes, in mpol_rebind_preferred() argument
367 if (node_isset(node, *nodes)) { in mpol_rebind_preferred()
373 mpol_relative_nodemask(&tmp, &pol->w.user_nodemask, nodes); in mpol_rebind_preferred()
378 *nodes); in mpol_rebind_preferred()
379 pol->w.cpuset_mems_allowed = *nodes; in mpol_rebind_preferred()
635 nodemask_t *nodes, unsigned long flags, in queue_pages_range() argument
641 .nmask = nodes, in queue_pages_range()
754 nodemask_t *nodes) in do_set_mempolicy() argument
763 new = mpol_new(mode, flags, nodes); in do_set_mempolicy()
770 ret = mpol_set_nodemask(new, nodes, scratch); in do_set_mempolicy()
779 nodes_weight(new->v.nodes)) in do_set_mempolicy()
780 current->il_next = first_node(new->v.nodes); in do_set_mempolicy()
794 static void get_policy_nodemask(struct mempolicy *p, nodemask_t *nodes) in get_policy_nodemask() argument
796 nodes_clear(*nodes); in get_policy_nodemask()
804 *nodes = p->v.nodes; in get_policy_nodemask()
808 node_set(p->v.preferred_node, *nodes); in get_policy_nodemask()
1236 static int get_nodes(nodemask_t *nodes, const unsigned long __user *nmask, in get_nodes() argument
1244 nodes_clear(*nodes); in get_nodes()
1275 if (copy_from_user(nodes_addr(*nodes), nmask, nlongs*sizeof(unsigned long))) in get_nodes()
1277 nodes_addr(*nodes)[nlongs-1] &= endmask; in get_nodes() local
1283 nodemask_t *nodes) in copy_nodes_to_user() argument
1295 return copy_to_user(mask, nodes_addr(*nodes), copy) ? -EFAULT : 0; in copy_nodes_to_user()
1302 nodemask_t nodes; in SYSCALL_DEFINE6() local
1313 err = get_nodes(&nodes, nmask, maxnode); in SYSCALL_DEFINE6()
1316 return do_mbind(start, len, mode, mode_flags, &nodes, flags); in SYSCALL_DEFINE6()
1324 nodemask_t nodes; in SYSCALL_DEFINE3() local
1333 err = get_nodes(&nodes, nmask, maxnode); in SYSCALL_DEFINE3()
1336 return do_set_mempolicy(mode, flags, &nodes); in SYSCALL_DEFINE3()
1441 nodemask_t nodes; in SYSCALL_DEFINE5() local
1446 err = do_get_mempolicy(&pval, &nodes, addr, flags); in SYSCALL_DEFINE5()
1455 err = copy_nodes_to_user(nmask, maxnode, &nodes); in SYSCALL_DEFINE5()
1625 if (!nodes_intersects(policy->v.nodes, node_states[N_HIGH_MEMORY])) in apply_policy_zone()
1640 cpuset_nodemask_valid_mems_allowed(&policy->v.nodes)) in policy_nodemask()
1641 return &policy->v.nodes; in policy_nodemask()
1663 unlikely(!node_isset(nd, policy->v.nodes))) in policy_zonelist()
1664 nd = first_node(policy->v.nodes); in policy_zonelist()
1679 next = next_node(nid, policy->v.nodes); in interleave_nodes()
1681 next = first_node(policy->v.nodes); in interleave_nodes()
1723 &policy->v.nodes, in mempolicy_slab_node()
1737 unsigned nnodes = nodes_weight(pol->v.nodes); in offset_il_node()
1747 nid = next_node(nid, pol->v.nodes); in offset_il_node()
1821 *nodemask = &(*mpol)->v.nodes; in huge_zonelist()
1864 *mask = mempolicy->v.nodes; in init_nodemask_of_mempolicy()
1910 ret = nodes_intersects(mempolicy->v.nodes, *mask); in mempolicy_nodemask_intersects()
2131 return !!nodes_equal(a->v.nodes, b->v.nodes); in __mpol_equal()
2288 if (node_isset(curnid, pol->v.nodes)) in mpol_misplaced()
2293 &pol->v.nodes, &zone); in mpol_misplaced()
2479 npol ? nodes_addr(npol->v.nodes)[0] : NUMA_NO_NODE); in mpol_set_shared_policy()
2652 nodemask_t nodes; in mpol_parse_str() local
2660 if (nodelist_parse(nodelist, nodes)) in mpol_parse_str()
2662 if (!nodes_subset(nodes, node_states[N_MEMORY])) in mpol_parse_str()
2665 nodes_clear(nodes); in mpol_parse_str()
2696 nodes = node_states[N_MEMORY]; in mpol_parse_str()
2735 new = mpol_new(mode, mode_flags, &nodes); in mpol_parse_str()
2744 new->v.nodes = nodes; in mpol_parse_str()
2746 new->v.preferred_node = first_node(nodes); in mpol_parse_str()
2754 new->w.user_nodemask = nodes; in mpol_parse_str()
2783 nodemask_t nodes = NODE_MASK_NONE; in mpol_to_str() local
2799 node_set(pol->v.preferred_node, nodes); in mpol_to_str()
2803 nodes = pol->v.nodes; in mpol_to_str()
2825 if (!nodes_empty(nodes)) in mpol_to_str()
2827 nodemask_pr_args(&nodes)); in mpol_to_str()