Lines Matching refs:policy
256 struct mempolicy *policy; in mpol_new() local
285 policy = kmem_cache_alloc(policy_cache, GFP_KERNEL); in mpol_new()
286 if (!policy) in mpol_new()
288 atomic_set(&policy->refcnt, 1); in mpol_new()
289 policy->mode = mode; in mpol_new()
290 policy->flags = flags; in mpol_new()
292 return policy; in mpol_new()
830 static long do_get_mempolicy(int *policy, nodemask_t *nmask, in do_get_mempolicy() argument
845 *policy = 0; /* just so it's initialized */ in do_get_mempolicy()
879 *policy = err; in do_get_mempolicy()
882 *policy = current->il_next; in do_get_mempolicy()
888 *policy = pol == &default_policy ? MPOL_DEFAULT : in do_get_mempolicy()
894 *policy |= (pol->flags & MPOL_MODE_FLAGS); in do_get_mempolicy()
1435 SYSCALL_DEFINE5(get_mempolicy, int __user *, policy, in SYSCALL_DEFINE5() argument
1451 if (policy && put_user(pval, policy)) in SYSCALL_DEFINE5()
1462 COMPAT_SYSCALL_DEFINE5(get_mempolicy, int __user *, policy, in COMPAT_SYSCALL_DEFINE5() argument
1478 err = sys_get_mempolicy(policy, nm, nr_bits+1, addr, flags); in COMPAT_SYSCALL_DEFINE5()
1611 static int apply_policy_zone(struct mempolicy *policy, enum zone_type zone) in apply_policy_zone() argument
1625 if (!nodes_intersects(policy->v.nodes, node_states[N_HIGH_MEMORY])) in apply_policy_zone()
1635 static nodemask_t *policy_nodemask(gfp_t gfp, struct mempolicy *policy) in policy_nodemask() argument
1638 if (unlikely(policy->mode == MPOL_BIND) && in policy_nodemask()
1639 apply_policy_zone(policy, gfp_zone(gfp)) && in policy_nodemask()
1640 cpuset_nodemask_valid_mems_allowed(&policy->v.nodes)) in policy_nodemask()
1641 return &policy->v.nodes; in policy_nodemask()
1647 static struct zonelist *policy_zonelist(gfp_t gfp, struct mempolicy *policy, in policy_zonelist() argument
1650 switch (policy->mode) { in policy_zonelist()
1652 if (!(policy->flags & MPOL_F_LOCAL)) in policy_zonelist()
1653 nd = policy->v.preferred_node; in policy_zonelist()
1663 unlikely(!node_isset(nd, policy->v.nodes))) in policy_zonelist()
1664 nd = first_node(policy->v.nodes); in policy_zonelist()
1673 static unsigned interleave_nodes(struct mempolicy *policy) in interleave_nodes() argument
1679 next = next_node(nid, policy->v.nodes); in interleave_nodes()
1681 next = first_node(policy->v.nodes); in interleave_nodes()
1693 struct mempolicy *policy; in mempolicy_slab_node() local
1699 policy = current->mempolicy; in mempolicy_slab_node()
1700 if (!policy || policy->flags & MPOL_F_LOCAL) in mempolicy_slab_node()
1703 switch (policy->mode) { in mempolicy_slab_node()
1708 return policy->v.preferred_node; in mempolicy_slab_node()
1711 return interleave_nodes(policy); in mempolicy_slab_node()
1723 &policy->v.nodes, in mempolicy_slab_node()
2202 new->policy ? new->policy->mode : 0); in sp_insert()
2217 mpol_get(sn->policy); in mpol_shared_policy_lookup()
2218 pol = sn->policy; in mpol_shared_policy_lookup()
2226 mpol_put(n->policy); in sp_free()
2329 node->policy = pol; in sp_node_init()
2379 *mpol_new = *n->policy; in shared_policy_replace()