Lines Matching refs:parent

199  * latency and shift its old resources to its parent and its parent's resources
200 * to its parent, etc. until root lgroup reached
216 * Save current resources and latency to insert in parent and
261 lgrp_t *parent;
280 parent = child->lgrp_parent;
282 while (parent != NULL) {
285 prom_printf("lgrp_ancestor_delete: parent %d,"
287 parent->lgrp_id, lgrpid);
290 klgrpset_del(parent->lgrp_leaves, lgrpid);
291 klgrpset_del(parent->lgrp_children, lgrpid);
292 parent->lgrp_childcnt--;
294 klgrpset_add(*changed, parent->lgrp_id);
296 if (parent->lgrp_childcnt != 0)
299 current = parent;
300 parent = current->lgrp_parent;
332 lgrp_t *parent;
404 parent = child->lgrp_parent;
405 while (parent != NULL) {
406 klgrpset_or(parent->lgrp_leaves, child->lgrp_leaves);
408 klgrpset_add(*changed, parent->lgrp_id);
410 child = parent;
411 parent = parent->lgrp_parent;
543 * Create new parent lgroup with given latency and resources for
601 * Proprogate resources of new leaf into parent lgroup of given child
608 lgrp_t *parent;
617 parent = child->lgrp_parent;
618 klgrpset_or(parent->lgrp_leaves, child->lgrp_leaves);
620 klgrpset_add(*changed, parent->lgrp_id);
624 * Don't proprogate new leaf resources to parent if it already
627 if (lgrp_rsets_member_all(parent->lgrp_set, newleaf->lgrp_id)) {
638 * Add leaf resources to parent lgroup
640 lgrp_rsets_add(newleaf->lgrp_set, parent->lgrp_set);
645 "latency %d, child %d(0x%p), parent %d(0x%p)\n",
647 (void *)child, parent->lgrp_id, (void *)parent);
648 prom_printf("lgrp_proprogate: parent's leaves becomes 0x%llx\n",
649 (u_longlong_t)parent->lgrp_leaves);
652 prom_printf("lgrp_proprogate: adding to parent %d (0x%p)\n",
653 parent->lgrp_id, (void *)parent);
654 lgrp_rsets_print("parent resources become:", parent->lgrp_set);
668 * Split parent lgroup of given child if child's leaf decendant (oldleaf) has
680 lgrp_t *parent;
693 parent = child->lgrp_parent;
694 if (parent == NULL || parent->lgrp_childcnt < 2 || parent == lgrp_root)
725 * don't have parent as common ancestor
728 !klgrpset_ismember(parent->lgrp_leaves, lgrp->lgrp_id))
747 * Different latencies, so remove child from its parent and
748 * make new parent for old leaf with same latency and same
751 parent->lgrp_childcnt--;
752 klgrpset_del(parent->lgrp_children, child->lgrp_id);
753 klgrpset_del(parent->lgrp_leaves, oldleaf->lgrp_id);
754 grandparent = parent->lgrp_parent;
765 count += lgrp_new_parent(child, parent->lgrp_latency,
766 parent->lgrp_set, &changes);
770 klgrpset_add(*changed, parent->lgrp_id);
775 parent = child->lgrp_parent;
778 prom_printf("lgrp_split: new parent %d (0x%p) for"
780 parent->lgrp_id, (void *)parent,
782 lgrp_rsets_print("new parent resources:",
783 parent->lgrp_set);
842 lgrp_t *parent;
889 parent = child->lgrp_parent;
897 * lgroup since parent lgroups contain all the resources of their
905 prom_printf("lgrp_lineage_add: child %d (0x%p), parent"
908 parent->lgrp_id, (void *)parent);
912 * See whether parent lgroup needs to be split
914 * May need to split parent lgroup when it is ancestor to more
916 * leaf within the parent lgroup's latency
918 * it from parent
924 prom_printf("lgrp_lineage_add: setting parent"
926 child->lgrp_id, parent->lgrp_id,
929 parent = child->lgrp_parent;
946 parent = child->lgrp_parent;
947 klgrpset_add(collapse, parent->lgrp_id);
948 child = parent;
949 parent = parent->lgrp_parent;
956 " parent latency 0x%x\n",
957 latency, parent->lgrp_latency);
962 * one of the parent lgroups somewhere along the line
964 if (latency < parent->lgrp_latency) {
969 * child and parent
974 "latency < parent latency\n");
979 * between child and parent
994 if (parent == lgrp_root) {
997 * to parent, if it already contains
1001 parent->lgrp_set, newleaf->lgrp_id))
1012 "replaced parent lgrp %d at 0x%p"
1014 parent->lgrp_id, (void *)parent,
1016 lgrp_rsets_print("old parent"
1017 " resources:", parent->lgrp_set);
1018 lgrp_rsets_print("new parent "
1023 * Replace contents of parent with new
1025 * closer and shift its parent's resources to
1026 * its parent, etc. until root lgroup reached
1028 lgrp_rsets_replace(rset, latency, parent, 1);
1030 klgrpset_or(*changed, parent->lgrp_id);
1055 "parent lgrp %d at 0x%p for "
1058 lgrp_rsets_print("new parent "
1065 } else if (latency == parent->lgrp_latency) {
1067 * New leaf resources should go into parent
1072 "parent latency\n");
1078 if (lgrp_rsets_member_all(parent->lgrp_set,
1084 parent = child->lgrp_parent;
1085 klgrpset_add(collapse, parent->lgrp_id);
1092 child = parent;
1093 parent = parent->lgrp_parent;
1094 } while (parent != NULL);
1147 * Initialize parent of leaf lgroup to root
1374 lgrp_t *parent;
1379 parent = lgrp->lgrp_parent;
1382 klgrpset_add(*changed, parent->lgrp_id);
1385 if (parent) {
1386 klgrpset_del(parent->lgrp_children,
1388 parent->lgrp_childcnt--;
1488 * lgroup as its parent, and update the memory nodes of all lgroups
1540 lgrp_t *parent;
1553 parent = lgrp->lgrp_parent;
1554 prom_printf("\tparent 0x%p", (void *)parent);
1555 if (parent)
1556 prom_printf("[%d]\n", parent->lgrp_id);