Lines Matching refs:parent
257 return css_cs(cs->css.parent); in parent_cs()
1300 struct cpuset *cs, struct cpuset *parent) in compute_effective_cpumask() argument
1302 if (parent->nr_subparts_cpus) { in compute_effective_cpumask()
1303 cpumask_or(new_cpus, parent->effective_cpus, in compute_effective_cpumask()
1304 parent->subparts_cpus); in compute_effective_cpumask()
1366 struct cpuset *parent = parent_cs(cs); in update_parent_subparts_cpumask() local
1379 if (!is_partition_valid(parent)) { in update_parent_subparts_cpumask()
1380 return is_partition_invalid(parent) in update_parent_subparts_cpumask()
1398 if (!cpumask_intersects(cs->cpus_allowed, parent->cpus_allowed)) in update_parent_subparts_cpumask()
1405 if (cpumask_subset(parent->effective_cpus, cs->cpus_allowed) && in update_parent_subparts_cpumask()
1406 partition_is_populated(parent, cs)) in update_parent_subparts_cpumask()
1418 parent->subparts_cpus); in update_parent_subparts_cpumask()
1428 parent->subparts_cpus); in update_parent_subparts_cpumask()
1445 parent->subparts_cpus); in update_parent_subparts_cpumask()
1447 cpumask_and(tmp->addmask, newmask, parent->cpus_allowed); in update_parent_subparts_cpumask()
1449 parent->subparts_cpus); in update_parent_subparts_cpumask()
1455 cpumask_subset(parent->effective_cpus, tmp->addmask) && in update_parent_subparts_cpumask()
1457 partition_is_populated(parent, cs)) { in update_parent_subparts_cpumask()
1461 parent->subparts_cpus); in update_parent_subparts_cpumask()
1483 parent->cpus_allowed); in update_parent_subparts_cpumask()
1485 parent->subparts_cpus); in update_parent_subparts_cpumask()
1487 if ((is_partition_valid(cs) && !parent->nr_subparts_cpus) || in update_parent_subparts_cpumask()
1489 cpumask_subset(parent->effective_cpus, tmp->addmask) && in update_parent_subparts_cpumask()
1490 partition_is_populated(parent, cs))) { in update_parent_subparts_cpumask()
1496 parent->nr_subparts_cpus) in update_parent_subparts_cpumask()
1498 parent->subparts_cpus); in update_parent_subparts_cpumask()
1544 cpumask_or(parent->subparts_cpus, in update_parent_subparts_cpumask()
1545 parent->subparts_cpus, tmp->addmask); in update_parent_subparts_cpumask()
1546 cpumask_andnot(parent->effective_cpus, in update_parent_subparts_cpumask()
1547 parent->effective_cpus, tmp->addmask); in update_parent_subparts_cpumask()
1550 cpumask_andnot(parent->subparts_cpus, in update_parent_subparts_cpumask()
1551 parent->subparts_cpus, tmp->delmask); in update_parent_subparts_cpumask()
1556 cpumask_or(parent->effective_cpus, in update_parent_subparts_cpumask()
1557 parent->effective_cpus, tmp->delmask); in update_parent_subparts_cpumask()
1560 parent->nr_subparts_cpus = cpumask_weight(parent->subparts_cpus); in update_parent_subparts_cpumask()
1568 update_tasks_cpumask(parent, tmp->addmask); in update_parent_subparts_cpumask()
1607 struct cpuset *parent = parent_cs(cp); in update_cpumasks_hier() local
1610 compute_effective_cpumask(tmp->new_cpus, cp, parent); in update_cpumasks_hier()
1623 cpumask_copy(tmp->new_cpus, parent->effective_cpus); in update_cpumasks_hier()
1626 parent->child_ecpus_count++; in update_cpumasks_hier()
1630 WARN_ON_ONCE(!parent->child_ecpus_count); in update_cpumasks_hier()
1631 parent->child_ecpus_count--; in update_cpumasks_hier()
1644 (is_sched_load_balance(parent) == is_sched_load_balance(cp)))) { in update_cpumasks_hier()
1658 switch (parent->partition_root_state) { in update_cpumasks_hier()
1673 is_partition_invalid(parent) in update_cpumasks_hier()
1734 (is_sched_load_balance(parent) != is_sched_load_balance(cp))) { in update_cpumasks_hier()
1735 if (is_sched_load_balance(parent)) in update_cpumasks_hier()
1768 static void update_sibling_cpumasks(struct cpuset *parent, struct cpuset *cs, in update_sibling_cpumasks() argument
1785 cpuset_for_each_child(sibling, pos_css, parent) { in update_sibling_cpumasks()
1857 struct cpuset *cp, *parent; in update_cpumask() local
1869 parent = parent_cs(cs); in update_cpumask()
1870 cpuset_for_each_child(cp, css, parent) in update_cpumask()
1926 struct cpuset *parent = parent_cs(cs); in update_cpumask() local
1932 if (parent->child_ecpus_count) in update_cpumask()
1933 update_sibling_cpumasks(parent, cs, &tmp); in update_cpumask()
2099 struct cpuset *parent = parent_cs(cp); in update_nodemasks_hier() local
2101 nodes_and(*new_mems, cp->mems_allowed, parent->effective_mems); in update_nodemasks_hier()
2108 *new_mems = parent->effective_mems; in update_nodemasks_hier()
2311 struct cpuset *parent = parent_cs(cs); in update_prstate() local
2383 compute_effective_cpumask(cs->effective_cpus, cs, parent); in update_prstate()
2397 update_tasks_cpumask(parent, tmpmask.new_cpus); in update_prstate()
2399 if (parent->child_ecpus_count) in update_prstate()
2400 update_sibling_cpumasks(parent, cs, &tmpmask); in update_prstate()
3238 struct cpuset *parent = parent_cs(cs); in cpuset_css_online() local
3242 if (!parent) in cpuset_css_online()
3249 if (is_spread_page(parent)) in cpuset_css_online()
3251 if (is_spread_slab(parent)) in cpuset_css_online()
3258 cpumask_copy(cs->effective_cpus, parent->effective_cpus); in cpuset_css_online()
3259 cs->effective_mems = parent->effective_mems; in cpuset_css_online()
3261 parent->child_ecpus_count++; in cpuset_css_online()
3268 !is_sched_load_balance(parent)) in cpuset_css_online()
3290 cpuset_for_each_child(tmp_cs, pos_css, parent) { in cpuset_css_online()
3299 cs->mems_allowed = parent->mems_allowed; in cpuset_css_online()
3300 cs->effective_mems = parent->mems_allowed; in cpuset_css_online()
3301 cpumask_copy(cs->cpus_allowed, parent->cpus_allowed); in cpuset_css_online()
3302 cpumask_copy(cs->cpus_requested, parent->cpus_requested); in cpuset_css_online()
3303 cpumask_copy(cs->effective_cpus, parent->cpus_allowed); in cpuset_css_online()
3337 struct cpuset *parent = parent_cs(cs); in cpuset_css_offline() local
3340 parent->child_ecpus_count--; in cpuset_css_offline()
3529 struct cpuset *parent; in remove_tasks_in_empty_cpuset() local
3535 parent = parent_cs(cs); in remove_tasks_in_empty_cpuset()
3536 while (cpumask_empty(parent->cpus_allowed) || in remove_tasks_in_empty_cpuset()
3537 nodes_empty(parent->mems_allowed)) in remove_tasks_in_empty_cpuset()
3538 parent = parent_cs(parent); in remove_tasks_in_empty_cpuset()
3540 if (cgroup_transfer_tasks(parent->css.cgroup, cs->css.cgroup)) { in remove_tasks_in_empty_cpuset()
3630 struct cpuset *parent; in cpuset_hotplug_update_tasks() local
3645 parent = parent_cs(cs); in cpuset_hotplug_update_tasks()
3646 compute_effective_cpumask(&new_cpus, cs, parent); in cpuset_hotplug_update_tasks()
3647 nodes_and(new_mems, cs->mems_allowed, parent->effective_mems); in cpuset_hotplug_update_tasks()
3671 compute_effective_cpumask(&new_cpus, cs, parent); in cpuset_hotplug_update_tasks()
3681 if (is_partition_valid(cs) && (!parent->nr_subparts_cpus || in cpuset_hotplug_update_tasks()
3691 compute_effective_cpumask(&new_cpus, cs, parent); in cpuset_hotplug_update_tasks()
3695 parent_prs = parent->partition_root_state; in cpuset_hotplug_update_tasks()
3715 else if (is_partition_valid(parent) && is_partition_invalid(cs)) { in cpuset_hotplug_update_tasks()