Lines Matching defs:buddy
110 * buddy table
112 * table used for determining buddy sizes within characters of
115 * binary buddy of free bits within the character.
1371 * part) of a larger binary buddy system, causing the dmap
1428 * part) of a larger binary buddy system.
2170 * the freed blocks to become part of a larger binary buddy
2191 * of the binary buddy system described by the dmap's dmtree
2255 * to setting the leaf value to the binary buddy max
2338 * of the binary buddy system described by the dmap's dmtree
2384 * buddy system of the leaves if the new leaf values indicate this
2509 * causing a binary buddy system within the leaves to be
2576 * leaf, dbSplit() will also split the binary buddy system of
2579 * the binary buddy system of leaves and bubble new values up
2583 /* check if we are in the middle of a binary buddy
2587 * buddy system. if we are in the middle, back split
2589 * that it is at the front of a binary buddy system.
2631 * caused a larger binary buddy system
2651 * of the maximum free buddy system.
2656 "the maximum free buddy is not the old root\n");
2674 * the leaf from the binary buddy system of the dmtree's
2680 * splitsz - the size the binary buddy system starting at the leaf
2697 /* the split occurs by cutting the buddy system in half
2700 * - 1 in l2) and the corresponding buddy size.
2708 /* update the buddy's leaf with its new value.
2712 /* on to the next size and buddy.
2729 * FUNCTION: back split the binary buddy system of dmtree leaves
2731 * starts its own binary buddy system.
2734 * of binary buddy systems and dbSplit() is used to accomplish
2742 * of a larger binary buddy system and a few exception cases
2760 * buddy system.
2765 * that starts the buddy system that contains the specified leaf and
2767 * the specified leaf becomes the start of a buddy system.
2776 * is the buddy size that we will start with as we search for
2777 * the buddy system that contains the specified leaf.
2784 /* find the leftmost buddy leaf.
2793 /* determine the buddy.
2797 /* check if this buddy is the start of the system.
2823 * binary buddy system, as required.
2834 int budsz, buddy;
2845 * buddy system. the join proceeds by attempting to join
2846 * the specified leafno with its buddy (leaf) at new value.
2848 * of the joined buddies with its buddy at new value + 1.
2849 * we continue to join until we find a buddy that cannot be
2854 * get the buddy size (number of words covered) of
2862 /* get the buddy leaf.
2864 buddy = leafno ^ budsz;
2867 * buddy's value, we join no more.
2869 if (newval > leaf[buddy])
2873 if (newval < leaf[buddy])
2876 /* check which (leafno or buddy) is the left buddy.
2877 * the left buddy gets to claim the blocks resulting
2879 * the left buddy is also eligible to participate in
2884 if (leafno < buddy) {
2885 /* leafno is the left buddy.
2887 dbAdjTree(tp, buddy, NOFREE, is_ctl);
2889 /* buddy is the left buddy and becomes
2893 leafno = buddy;
3056 * FUNCTION: find a specified number of binary buddy free bits within a
3103 * FUNCTION: determine the largest binary buddy string of free
3110 * largest binary buddy of free bits within a dmap word.
3117 * free buddy size is BUDMIN.
3123 * free buddy size is BUDMIN-1.
3128 /* not all free or half free. determine the free buddy
3910 /* build the dmap's binary buddy summary tree */
3918 * FUNCTION: initialize binary buddy summary tree of a dmap or dmapctl.
3923 * configure binary buddy system at the leaf level, then
3946 * configure the leaf levevl into binary buddy system
3948 * Try to combine buddies starting with a buddy size of 1
3949 * (i.e. two leaves). At a buddy size of 1 two buddy leaves
3951 * the combination will result in the left-most buddy leaf having
3954 * at the next higher buddy size (i.e. current size * 2) and
3956 * This continues until the maximum possible buddy combination
3961 /* get next buddy size == current buddy pair size */
3964 /* scan each adjacent buddy pair at current buddy size */
4028 /* build the dmap's binary buddy summary tree */