Lines Matching refs:effective_cpus

388 	while (!cpumask_intersects(cs->effective_cpus, pmask))
391 cpumask_and(pmask, pmask, cs->effective_cpus);
427 pmask2 = &cs->effective_cpus;
470 free_cpumask_var(cs->effective_cpus);
499 cpumask_copy(trial->effective_cpus, cs->effective_cpus);
601 * For v1, effective_cpus == cpus_allowed & user_xcpus() returns
606 * effective_cpus isn't computed yet. user_xcpus() is the best
609 * TBD: May need to precompute the real effective_cpus here in case
615 !cpuset_cpumask_can_shrink(cur->effective_cpus, user_xcpus(trial)))
672 return cpumask_intersects(a->effective_cpus, b->effective_cpus);
793 cpumask_and(doms[0], top_cpuset.effective_cpus,
830 !cpumask_empty(cp->effective_cpus))
840 * non-empty effective_cpus will be saved into csn[].
843 !cpumask_empty(cp->effective_cpus))
912 cpumask_and(doms[i], csa[i]->effective_cpus,
915 cpumask_copy(doms[i], csa[i]->effective_cpus);
934 cpumask_or(dp, dp, csa[j]->effective_cpus);
998 if (cpumask_empty(cs->effective_cpus)) {
1048 !cpumask_equal(top_cpuset.effective_cpus, cpu_active_mask))
1063 if (!cpumask_subset(cs->effective_cpus,
1108 * @new_cpus: the temp variable for the new effective_cpus mask
1114 * For top_cpuset, task_cpu_possible_mask() is used instead of effective_cpus
1141 cpumask_and(new_cpus, possible_mask, cs->effective_cpus);
1150 * @new_cpus: the temp variable for the new effective_cpus mask
1151 * @cs: the cpuset the need to recompute the new effective_cpus mask
1159 cpumask_and(new_cpus, cs->cpus_allowed, parent->effective_cpus);
1169 partcmd_update, /* Update parent's effective_cpus */
1230 * tasks_nocpu_error - Return true if tasks will have no effective_cpus
1236 * A populated partition (cs or parent) can't have empty effective_cpus
1238 return (cpumask_subset(parent->effective_cpus, xcpus) &&
1259 if (!cpumask_and(cs->effective_cpus, parent->effective_cpus, cs->cpus_allowed))
1260 cpumask_copy(cs->effective_cpus, parent->effective_cpus);
1306 cpumask_andnot(parent->effective_cpus, parent->effective_cpus, xcpus);
1338 cpumask_or(parent->effective_cpus, parent->effective_cpus, xcpus);
1454 * partitions and it can't use up all the root's effective_cpus.
1465 cpumask_subset(top_cpuset.effective_cpus, tmp->new_cpus))
1478 * Propagate changes in top_cpuset's effective_cpus down the hierarchy.
1490 * The effective_cpus is also updated.
1518 * Propagate changes in top_cpuset's effective_cpus down the hierarchy.
1556 * not allocated to other partitions and there are effective_cpus
1564 cpumask_subset(top_cpuset.effective_cpus, tmp->addmask))
1588 * Propagate changes in top_cpuset's effective_cpus down the hierarchy.
1619 * update_parent_effective_cpumask - update effective_cpus mask of parent cpuset
1629 * parent's effective_cpus. The function will return 0 if all the CPUs listed
1634 * given back to parent's effective_cpus. 0 will always be returned.
1660 int adding; /* Adding cpus to parent's effective_cpus */
1661 int deleting; /* Deleting cpus from parent's effective_cpus */
1742 * (cs->effective_xcpus & cpu_active_mask) ⊆ parent->effective_cpus
1747 WARN_ON_ONCE(!cpumask_subset(tmp->new_cpus, parent->effective_cpus));
1754 * May need to add cpus back to parent's effective_cpus
1780 * Compute add/delete mask to/from effective_cpus
1810 WARN_ON_ONCE(!cpumask_subset(tmp->new_cpus, parent->effective_cpus));
1814 * Make partition invalid if parent's effective_cpus could
1828 * delmask = effective_xcpus & parent->effective_cpus
1868 xcpus, parent->effective_cpus);
1918 * Change the parent's effective_cpus & effective_xcpus (top cpuset
1921 * Newly added CPUs will be removed from effective_cpus and
1922 * newly deleted ones will be added back to effective_cpus.
1931 * Adding to parent's effective_cpus means deletion CPUs from cs
1969 * compute_partition_effective_cpumask - compute effective_cpus for partition
1971 * @new_ecpus: previously computed effective_cpus to be updated
1973 * Compute the effective_cpus of a partition root by scanning effective_xcpus
1980 * and the child's effective_cpus will be updated in later iterations.
1996 * 2) All the effective_cpus will be used up and cp
2043 * @tmp: temp variables for calculating effective_cpus & partition setup
2049 * On legacy hierarchy, effective_cpus will be the same with cpu_allowed.
2101 * A partition with no effective_cpus is allowed as long as
2117 cpumask_copy(tmp->new_cpus, parent->effective_cpus);
2127 cpumask_equal(tmp->new_cpus, cp->effective_cpus) &&
2139 * cpuset if the parent's effective_cpus changes.
2177 cpumask_copy(cp->effective_cpus, tmp->new_cpus);
2196 !cpumask_equal(cp->cpus_allowed, cp->effective_cpus));
2198 cpuset_update_tasks_cpumask(cp, cp->effective_cpus);
2249 * if their effective_cpus will need to be changed.
2251 * It is possible a change in parent's effective_cpus
2253 * its siblings even if they do not inherit parent's effective_cpus
2266 if (cpumask_equal(tmp->new_cpus, sibling->effective_cpus))
2423 /* effective_cpus/effective_xcpus will be updated here */
2522 * Call update_cpumasks_hier() to update effective_cpus/effective_xcpus
2995 * For v2, effective_cpus can't be empty.
2996 * Note that in v1, effective_cpus = cpus_allowed.
3000 if (cpumask_empty(cs->effective_cpus) ||
3033 cpus_updated = !cpumask_equal(cs->effective_cpus, oldcs->effective_cpus);
3061 if (!cpumask_intersects(oldcs->effective_cpus, cs->effective_cpus)) {
3062 int cpu = cpumask_any_and(cpu_active_mask, cs->effective_cpus);
3100 int cpu = cpumask_any(cs->effective_cpus);
3150 cpus_updated = !cpumask_equal(cs->effective_cpus,
3151 oldcs->effective_cpus);
3287 seq_printf(sf, "%*pbl\n", cpumask_pr_args(cs->effective_cpus));
3516 cpumask_copy(cs->effective_cpus, parent->effective_cpus);
3550 cpumask_copy(cs->effective_cpus, parent->cpus_allowed);
3621 top_cpuset.effective_cpus);
3751 BUG_ON(!alloc_cpumask_var(&top_cpuset.effective_cpus, GFP_KERNEL));
3759 cpumask_setall(top_cpuset.effective_cpus);
3786 cpumask_copy(new_cpus, parent_cs(cs)->effective_cpus);
3791 cpumask_copy(cs->effective_cpus, new_cpus);
3846 * Compute effective_cpus for valid partition root, may invalidate
3887 cpus_updated = !cpumask_equal(&new_cpus, cs->effective_cpus);
3947 cpus_updated = !cpumask_equal(top_cpuset.effective_cpus, &new_cpus) ||
3959 * do not show up in effective_cpus. If no CPU is left,
3972 cpumask_copy(top_cpuset.effective_cpus, &new_cpus);
4051 cpumask_copy(top_cpuset.effective_cpus, cpu_active_mask);
4109 * mode however, this value is the same as task_cs(tsk)->effective_cpus,