Lines Matching defs:lineage
107 * Status codes for CMT lineage validation
120 * Status of the current lineage under construction.
423 * The CPU's whose lineage is under construction still
443 * Update the CMT load balancing lineage
447 * Unless this is the CPU who's lineage is being
449 * in the lineage.
460 * lineage
602 * Build a lineage of CMT PGs for load balancing / coalescence
626 * Ascendingly sort the PGs in the lineage by number of CPUs
631 * Examine the lineage and validate it.
632 * This routine will also try to fix the lineage along with the
644 * PG data has an empty CMT load balancing lineage.
652 * For existing PGs in the lineage, verify that the parent is
653 * correct, as the generation in the lineage may have changed
655 * of the lineage, moving down.
678 * For each of the PGs in the CPU's lineage:
824 * Remove the PG from the CPU's load balancing lineage
849 * Now that the load balancing lineage updates have happened,
1465 pg_cmt_prune(pg_cmt_t *pg_bad, pg_cmt_t **lineage, int *sz, cpu_pg_t *pgdata)
1494 * Find and eliminate the PG from the lineage.
1497 if (lineage[i] == pg_bad) {
1499 lineage[j] = lineage[j + 1];
1629 group_iter_t liter; /* Iterator for the lineage */
1633 * The CPU's lineage is under construction still
1692 * CMT lineage validation
1695 * of the PGs in a CPU's lineage. This is necessary because it's possible that
1716 * The first argument is the CPUs PG lineage (essentially an array of PGs in
1718 * by CPU count. Some of the PGs in the CPUs lineage may already have other
1723 * invariant. In additon to testing the subset invariant for the lineage,
1729 * CMT_LINEAGE_VALID - There were no problems detected with the lineage.
1736 * whose lineage is being validated), which is under-construction.
1741 pg_cmt_lineage_validate(pg_cmt_t **lineage, int *sz, cpu_pg_t *pgdata)
1757 pg = lineage[i];
1759 pg_next = lineage[i + 1];
1764 * We assume that the lineage has already been sorted
1771 * The CPUs PG lineage was passed as the first argument to
1783 * part of this CPU's lineage (and therefore should contain
1786 * parent (and other ancestors not in the same lineage) and
1795 * Determine if the parent/ancestor is in this lineage
1799 pg_tmp = lineage[j];
1803 * It's in the lineage. The concentricity
1809 * If it is not in the lineage, PG will eventually
1813 * since that would imply it should be in the lineage,
1836 * that the next PG in the lineage (which is larger
1888 if (pg_cmt_prune(pg, lineage, sz, pgdata) == 0) {
1897 * lineage that cannot cannot legally be promoted into place
1901 if (pg_cmt_prune(pg, lineage, sz, pgdata) == 0) {
1914 * We've detected a non-concentric PG lineage, which means that
1915 * there's a PG in the lineage that has CPUs that the next PG
1916 * over in the lineage (which is the same size or larger)
1927 * This process repeats until we have a concentric lineage,
1944 if (pg_cmt_prune(pg_bad, lineage, sz, pgdata) == 0) {