Lines Matching refs:parent

1157 				      struct cpuset *cs, struct cpuset *parent)  in compute_effective_cpumask()  argument
1159 cpumask_and(new_cpus, cs->cpus_allowed, parent->effective_cpus); in compute_effective_cpumask()
1173 static void update_sibling_cpumasks(struct cpuset *parent, struct cpuset *cs,
1232 static bool tasks_nocpu_error(struct cpuset *parent, struct cpuset *cs, in tasks_nocpu_error() argument
1238 return (cpumask_subset(parent->effective_cpus, xcpus) && in tasks_nocpu_error()
1239 partition_is_populated(parent, cs)) || in tasks_nocpu_error()
1246 struct cpuset *parent = parent_cs(cs); in reset_partition_data() local
1259 if (!cpumask_and(cs->effective_cpus, parent->effective_cpus, cs->cpus_allowed)) in reset_partition_data()
1260 cpumask_copy(cs->effective_cpus, parent->effective_cpus); in reset_partition_data()
1287 static bool partition_xcpus_add(int new_prs, struct cpuset *parent, in partition_xcpus_add() argument
1294 if (!parent) in partition_xcpus_add()
1295 parent = &top_cpuset; in partition_xcpus_add()
1298 if (parent == &top_cpuset) in partition_xcpus_add()
1301 isolcpus_updated = (new_prs != parent->partition_root_state); in partition_xcpus_add()
1303 isolated_cpus_update(parent->partition_root_state, new_prs, in partition_xcpus_add()
1306 cpumask_andnot(parent->effective_cpus, parent->effective_cpus, xcpus); in partition_xcpus_add()
1319 static bool partition_xcpus_del(int old_prs, struct cpuset *parent, in partition_xcpus_del() argument
1326 if (!parent) in partition_xcpus_del()
1327 parent = &top_cpuset; in partition_xcpus_del()
1329 if (parent == &top_cpuset) in partition_xcpus_del()
1332 isolcpus_updated = (old_prs != parent->partition_root_state); in partition_xcpus_del()
1334 isolated_cpus_update(old_prs, parent->partition_root_state, in partition_xcpus_del()
1338 cpumask_or(parent->effective_cpus, parent->effective_cpus, xcpus); in partition_xcpus_del()
1383 struct cpuset *parent = parent_cs(cs); in compute_effective_exclusive_cpumask() local
1390 cpumask_and(xcpus, user_xcpus(cs), parent->effective_xcpus); in compute_effective_exclusive_cpumask()
1403 cpuset_for_each_child(sibling, css, parent) { in compute_effective_exclusive_cpumask()
1659 struct cpuset *parent = parent_cs(cs); in update_parent_effective_cpumask() local
1686 if (is_partition_valid(parent)) in update_parent_effective_cpumask()
1688 xcpus, parent->effective_xcpus); in update_parent_effective_cpumask()
1701 if (!is_partition_valid(parent)) { in update_parent_effective_cpumask()
1702 return is_partition_invalid(parent) in update_parent_effective_cpumask()
1708 nocpu = tasks_nocpu_error(parent, cs, xcpus); in update_parent_effective_cpumask()
1747 WARN_ON_ONCE(!cpumask_subset(tmp->new_cpus, parent->effective_cpus)); in update_parent_effective_cpumask()
1775 nocpu |= tasks_nocpu_error(parent, cs, newmask); in update_parent_effective_cpumask()
1794 newmask, parent->effective_xcpus); in update_parent_effective_cpumask()
1798 parent->effective_xcpus); in update_parent_effective_cpumask()
1802 parent->effective_xcpus); in update_parent_effective_cpumask()
1810 WARN_ON_ONCE(!cpumask_subset(tmp->new_cpus, parent->effective_cpus)); in update_parent_effective_cpumask()
1822 xcpus, parent->effective_xcpus); in update_parent_effective_cpumask()
1840 WARN_ON_ONCE(!is_partition_valid(parent)); in update_parent_effective_cpumask()
1845 xcpus, parent->effective_xcpus); in update_parent_effective_cpumask()
1847 cpumask_subset(xcpus, parent->effective_xcpus)) { in update_parent_effective_cpumask()
1857 cpuset_for_each_child(child, css, parent) { in update_parent_effective_cpumask()
1868 xcpus, parent->effective_cpus); in update_parent_effective_cpumask()
1935 isolcpus_updated += partition_xcpus_del(old_prs, parent, in update_parent_effective_cpumask()
1938 isolcpus_updated += partition_xcpus_add(new_prs, parent, in update_parent_effective_cpumask()
1941 if (is_partition_valid(parent)) { in update_parent_effective_cpumask()
1942 parent->nr_subparts += subparts_delta; in update_parent_effective_cpumask()
1943 WARN_ON_ONCE(parent->nr_subparts < 0); in update_parent_effective_cpumask()
1952 cpuset_update_tasks_cpumask(parent, tmp->addmask); in update_parent_effective_cpumask()
1953 update_sibling_cpumasks(parent, cs, tmp); in update_parent_effective_cpumask()
2063 struct cpuset *parent = parent_cs(cp); in update_cpumasks_hier() local
2092 if (remote || (is_partition_valid(parent) && is_partition_valid(cp))) in update_cpumasks_hier()
2095 compute_effective_cpumask(tmp->new_cpus, cp, parent); in update_cpumasks_hier()
2117 cpumask_copy(tmp->new_cpus, parent->effective_cpus); in update_cpumasks_hier()
2129 (is_sched_load_balance(parent) == is_sched_load_balance(cp)))) { in update_cpumasks_hier()
2142 switch (parent->partition_root_state) { in update_cpumasks_hier()
2157 is_partition_invalid(parent) in update_cpumasks_hier()
2188 cp->cpus_allowed, parent->effective_xcpus); in update_cpumasks_hier()
2206 (is_sched_load_balance(parent) != is_sched_load_balance(cp))) { in update_cpumasks_hier()
2207 if (is_sched_load_balance(parent)) in update_cpumasks_hier()
2239 static void update_sibling_cpumasks(struct cpuset *parent, struct cpuset *cs, in update_sibling_cpumasks() argument
2260 cpuset_for_each_child(sibling, pos_css, parent) { in update_sibling_cpumasks()
2265 parent); in update_sibling_cpumasks()
2298 struct cpuset *parent = parent_cs(cs); in update_cpumask() local
2352 } else if (tasks_nocpu_error(parent, cs, trialcs->effective_xcpus)) { in update_cpumask()
2379 cpuset_for_each_child(cp, css, parent) { in update_cpumask()
2447 struct cpuset *parent = parent_cs(cs); in update_exclusive_cpumask() local
2495 } else if (tasks_nocpu_error(parent, cs, trialcs->effective_xcpus)) { in update_exclusive_cpumask()
2698 struct cpuset *parent = parent_cs(cp); in update_nodemasks_hier() local
2700 nodes_and(*new_mems, cp->mems_allowed, parent->effective_mems); in update_nodemasks_hier()
2707 *new_mems = parent->effective_mems; in update_nodemasks_hier()
2877 struct cpuset *parent = parent_cs(cs); in update_prstate() local
2913 if ((parent == &top_cpuset) && in update_prstate()
2923 if (is_partition_valid(parent)) { in update_prstate()
3491 struct cpuset *parent = parent_cs(cs); in cpuset_css_online() local
3495 if (!parent) in cpuset_css_online()
3502 if (is_spread_page(parent)) in cpuset_css_online()
3504 if (is_spread_slab(parent)) in cpuset_css_online()
3509 if (cpuset_v2() && !is_sched_load_balance(parent)) in cpuset_css_online()
3516 cpumask_copy(cs->effective_cpus, parent->effective_cpus); in cpuset_css_online()
3517 cs->effective_mems = parent->effective_mems; in cpuset_css_online()
3538 cpuset_for_each_child(tmp_cs, pos_css, parent) { in cpuset_css_online()
3547 cs->mems_allowed = parent->mems_allowed; in cpuset_css_online()
3548 cs->effective_mems = parent->mems_allowed; in cpuset_css_online()
3549 cpumask_copy(cs->cpus_allowed, parent->cpus_allowed); in cpuset_css_online()
3550 cpumask_copy(cs->effective_cpus, parent->cpus_allowed); in cpuset_css_online()
3823 struct cpuset *parent; in cpuset_hotplug_update_tasks() local
3838 parent = parent_cs(cs); in cpuset_hotplug_update_tasks()
3839 compute_effective_cpumask(&new_cpus, cs, parent); in cpuset_hotplug_update_tasks()
3840 nodes_and(new_mems, cs->mems_allowed, parent->effective_mems); in cpuset_hotplug_update_tasks()
3850 if (remote || (is_partition_valid(cs) && is_partition_valid(parent))) in cpuset_hotplug_update_tasks()
3857 compute_effective_cpumask(&new_cpus, cs, parent); in cpuset_hotplug_update_tasks()
3868 if (is_local_partition(cs) && (!is_partition_valid(parent) || in cpuset_hotplug_update_tasks()
3869 tasks_nocpu_error(parent, cs, &new_cpus))) in cpuset_hotplug_update_tasks()
3875 else if (is_partition_valid(parent) && is_partition_invalid(cs)) in cpuset_hotplug_update_tasks()