Lines Matching defs:rotor
713 vmem_seg_t *vsp, *rotor;
726 * The common case is that the segment right after the rotor is free,
730 * address of the victim segment. Instead of moving the rotor, we
731 * create the new segment structure *behind the rotor*, which has
733 * the rotor's neighbors because the new segment lies between them.
735 rotor = &vmp->vm_rotor;
736 vsp = rotor->vs_anext;
743 vmem_seg_create(vmp, rotor->vs_aprev, addr, addr + size));
749 * Starting at the rotor, look for a segment large enough to
757 if (vsp == rotor) {
762 * there's actually enough space, but the rotor itself
765 * we advance the rotor and see if that liberates a
768 vmem_advance(vmp, rotor, rotor->vs_anext);
769 vsp = rotor->vs_aprev;
788 vsp = rotor->vs_anext;
801 * Advance the rotor to right after the newly-allocated segment.
804 vmem_advance(vmp, rotor, vsp);