Lines Matching full:child

252  * Delete any ancestors of given child lgroup which don't have any other
256 lgrp_ancestor_delete(lgrp_t *child, klgrpset_t *changed) in lgrp_ancestor_delete() argument
266 (void *)child, child->lgrp_id, (void *)changed); in lgrp_ancestor_delete()
275 * Visit ancestors, decrement child count for each, and remove any in lgrp_ancestor_delete()
279 current = child; in lgrp_ancestor_delete()
280 parent = child->lgrp_parent; in lgrp_ancestor_delete()
329 lgrp_t *child; in lgrp_consolidate() local
380 child = lgrp_table[i]; in lgrp_consolidate()
381 if (!LGRP_EXISTS(child)) in lgrp_consolidate()
387 child->lgrp_id, lgrp2->lgrp_id); in lgrp_consolidate()
389 klgrpset_or(lgrp2->lgrp_leaves, child->lgrp_leaves); in lgrp_consolidate()
390 klgrpset_add(lgrp2->lgrp_children, child->lgrp_id); in lgrp_consolidate()
392 child->lgrp_parent = lgrp2; in lgrp_consolidate()
394 klgrpset_add(*changed, child->lgrp_id); in lgrp_consolidate()
403 child = lgrp2; in lgrp_consolidate()
404 parent = child->lgrp_parent; in lgrp_consolidate()
406 klgrpset_or(parent->lgrp_leaves, child->lgrp_leaves); in lgrp_consolidate()
410 child = parent; in lgrp_consolidate()
544 * specified child lgroup, and insert it into hierarchy
547 lgrp_new_parent(lgrp_t *child, int latency, klgrpset_t *rset, in lgrp_new_parent() argument
568 old = child->lgrp_parent; in lgrp_new_parent()
570 klgrpset_add(new->lgrp_children, child->lgrp_id); in lgrp_new_parent()
572 klgrpset_add(new->lgrp_children, child->lgrp_id); in lgrp_new_parent()
573 klgrpset_copy(new->lgrp_leaves, child->lgrp_leaves); in lgrp_new_parent()
575 child->lgrp_parent = new; in lgrp_new_parent()
577 klgrpset_del(old->lgrp_children, child->lgrp_id); in lgrp_new_parent()
585 klgrpset_add(*changed, child->lgrp_id); in lgrp_new_parent()
601 * Proprogate resources of new leaf into parent lgroup of given child
604 lgrp_proprogate(lgrp_t *newleaf, lgrp_t *child, int latency, in lgrp_proprogate() argument
614 if (child == NULL || child->lgrp_parent == NULL) in lgrp_proprogate()
617 parent = child->lgrp_parent; in lgrp_proprogate()
618 klgrpset_or(parent->lgrp_leaves, child->lgrp_leaves); in lgrp_proprogate()
645 "latency %d, child %d(0x%p), parent %d(0x%p)\n", in lgrp_proprogate()
646 newleaf->lgrp_id, (void *)newleaf, latency, child->lgrp_id, in lgrp_proprogate()
647 (void *)child, parent->lgrp_id, (void *)parent); in lgrp_proprogate()
668 * Split parent lgroup of given child if child's leaf decendant (oldleaf) has
670 * child's siblings
673 lgrp_split(lgrp_t *oldleaf, lgrp_t *newleaf, lgrp_t *child, in lgrp_split() argument
686 if (lgrp_split_off || newleaf == NULL || child == NULL) in lgrp_split()
690 * Parent must have more than one child to have a child split from it in lgrp_split()
693 parent = child->lgrp_parent; in lgrp_split()
702 (void *)child, child->lgrp_id, (void *)changed); in lgrp_split()
713 * Check whether all sibling leaves of given child lgroup have same in lgrp_split()
747 * Different latencies, so remove child from its parent and in lgrp_split()
752 klgrpset_del(parent->lgrp_children, child->lgrp_id); in lgrp_split()
758 child->lgrp_id); in lgrp_split()
763 child->lgrp_parent = grandparent; in lgrp_split()
765 count += lgrp_new_parent(child, parent->lgrp_latency, in lgrp_split()
771 klgrpset_add(*changed, child->lgrp_id); in lgrp_split()
775 parent = child->lgrp_parent; in lgrp_split()
781 child->lgrp_id, (void *)child); in lgrp_split()
837 lgrp_t *child; in lgrp_lineage_add() local
888 child = oldleaf; in lgrp_lineage_add()
889 parent = child->lgrp_parent; in lgrp_lineage_add()
905 prom_printf("lgrp_lineage_add: child %d (0x%p), parent" in lgrp_lineage_add()
907 child->lgrp_id, (void *)child, in lgrp_lineage_add()
920 count = lgrp_split(oldleaf, newleaf, child, &changes); in lgrp_lineage_add()
925 " for child %d from %d to %d\n", in lgrp_lineage_add()
926 child->lgrp_id, parent->lgrp_id, in lgrp_lineage_add()
927 child->lgrp_parent->lgrp_id); in lgrp_lineage_add()
929 parent = child->lgrp_parent; in lgrp_lineage_add()
941 total += lgrp_proprogate(newleaf, child, latency, in lgrp_lineage_add()
946 parent = child->lgrp_parent; in lgrp_lineage_add()
948 child = parent; in lgrp_lineage_add()
969 * child and parent in lgrp_lineage_add()
979 * between child and parent in lgrp_lineage_add()
981 lgrp_rsets_copy(child->lgrp_set, rset); in lgrp_lineage_add()
1004 total += lgrp_proprogate(newleaf, child, in lgrp_lineage_add()
1015 child->lgrp_id); in lgrp_lineage_add()
1024 * leaf + child resources since new leaf is in lgrp_lineage_add()
1039 (void *)child, latency); in lgrp_lineage_add()
1044 total += lgrp_new_parent(child, latency, rset, in lgrp_lineage_add()
1046 intermed = child->lgrp_parent; in lgrp_lineage_add()
1050 child = intermed; in lgrp_lineage_add()
1057 (void *)intermed, child->lgrp_id); in lgrp_lineage_add()
1082 total += lgrp_proprogate(newleaf, child, latency, in lgrp_lineage_add()
1084 parent = child->lgrp_parent; in lgrp_lineage_add()
1092 child = parent; in lgrp_lineage_add()