Lines Matching refs:rotor
712 vmem_seg_t *vsp, *rotor;
725 * The common case is that the segment right after the rotor is free,
729 * address of the victim segment. Instead of moving the rotor, we
730 * create the new segment structure *behind the rotor*, which has
732 * the rotor's neighbors because the new segment lies between them.
734 rotor = &vmp->vm_rotor;
735 vsp = rotor->vs_anext;
742 vmem_seg_create(vmp, rotor->vs_aprev, addr, addr + size));
748 * Starting at the rotor, look for a segment large enough to
756 if (vsp == rotor) {
761 * there's actually enough space, but the rotor itself
764 * we advance the rotor and see if that liberates a
767 vmem_advance(vmp, rotor, rotor->vs_anext);
768 vsp = rotor->vs_aprev;
787 vsp = rotor->vs_anext;
800 * Advance the rotor to right after the newly-allocated segment.
803 vmem_advance(vmp, rotor, vsp);