Lines Matching defs:rotor
818 vmem_seg_t *vsp, *rotor;
831 * The common case is that the segment right after the rotor is free,
835 * address of the victim segment. Instead of moving the rotor, we
836 * create the new segment structure *behind the rotor*, which has
838 * the rotor's neighbors because the new segment lies between them.
840 rotor = &vmp->vm_rotor;
841 vsp = rotor->vs_anext;
848 vmem_seg_create(vmp, rotor->vs_aprev, addr, addr + size));
854 * Starting at the rotor, look for a segment large enough to
862 if (vsp == rotor) {
865 * there's actually enough space, but the rotor itself
868 * we advance the rotor and see if that liberates a
871 vmem_advance(vmp, rotor, rotor->vs_anext);
872 vsp = rotor->vs_aprev;
888 vsp = rotor->vs_anext;
901 * Advance the rotor to right after the newly-allocated segment.
904 vmem_advance(vmp, rotor, vsp);