Lines Matching refs:vmem_seg_t

139  * The segment structure (vmem_seg_t) contains two doubly-linked lists.
191 * will preallocate enough vmem_seg_t's to get is through the entire
310 static vmem_seg_t vmem_seg0[VMEM_SEG_INITIAL];
311 static vmem_seg_t *vmem_segfree;
325 size_t vmem_seg_size = sizeof (vmem_seg_t);
349 vmem_seg_t *vnext = (vprev)->vs_##type##next; \
358 vmem_seg_t *vprev = (vsp)->vs_##type##prev; \
359 vmem_seg_t *vnext = (vsp)->vs_##type##next; \
365 * Get a vmem_seg_t from the global segfree list.
367 static vmem_seg_t *
370 vmem_seg_t *vsp;
381 * Put a vmem_seg_t on the global segfree list.
384 vmem_putseg_global(vmem_seg_t *vsp)
393 * Get a vmem_seg_t from vmp's segfree list.
395 static vmem_seg_t *
398 vmem_seg_t *vsp;
410 * Put a vmem_seg_t on vmp's segfree list.
413 vmem_putseg(vmem_t *vmp, vmem_seg_t *vsp)
424 vmem_freelist_insert(vmem_t *vmp, vmem_seg_t *vsp)
426 vmem_seg_t *vprev;
430 vprev = (vmem_seg_t *)&vmp->vm_freelist[highbit(VS_SIZE(vsp)) - 1];
442 vmem_freelist_delete(vmem_t *vmp, vmem_seg_t *vsp)
462 vmem_hash_insert(vmem_t *vmp, vmem_seg_t *vsp)
464 vmem_seg_t **bucket;
471 if (vmem_seg_size == sizeof (vmem_seg_t)) {
487 static vmem_seg_t *
490 vmem_seg_t *vsp, **prev_vspp;
518 static vmem_seg_t *
519 vmem_seg_create(vmem_t *vmp, vmem_seg_t *vprev, uintptr_t start, uintptr_t end)
521 vmem_seg_t *newseg = vmem_getseg(vmp);
537 vmem_seg_destroy(vmem_t *vmp, vmem_seg_t *vsp)
548 static vmem_seg_t *
551 vmem_seg_t *newseg, *span;
580 vmem_span_destroy(vmem_t *vmp, vmem_seg_t *vsp)
582 vmem_seg_t *span = vsp->vs_aprev;
603 static vmem_seg_t *
604 vmem_seg_alloc(vmem_t *vmp, vmem_seg_t *vsp, uintptr_t addr, size_t size)
662 * Populate vmp's segfree list with VMEM_MINFREE vmem_seg_t structures.
668 vmem_seg_t *vsp;
727 (vmem_seg_t *)(p + --nseg * vmem_seg_size));
739 vmem_putseg(vmp, (vmem_seg_t *)(p + --nseg * vmem_seg_size));
745 vmem_putseg_global((vmem_seg_t *)(p + --nseg * vmem_seg_size));
755 vmem_advance(vmem_t *vmp, vmem_seg_t *walker, vmem_seg_t *afterme)
757 vmem_seg_t *vprev = walker->vs_aprev;
758 vmem_seg_t *vnext = walker->vs_anext;
759 vmem_seg_t *vsp = NULL;
813 vmem_seg_t *vsp, *rotor;
935 vmem_seg_t *vsp;
936 vmem_seg_t *vbest = NULL;
1022 vsp = (vmem_seg_t *)&vmp->vm_freelist[flist];
1188 vmem_seg_t *vsp, *vnext, *vprev;
1246 vmem_seg_t *vsp;
1317 vmem_seg_t *vsp;
1318 vmem_seg_t *seg0 = &vmp->vm_seg0;
1365 vmem_seg_t *vsp;
1366 vmem_seg_t *seg0 = &vmp->vm_seg0;
1367 vmem_seg_t walker;
1434 vmem_seg_t *vsp;
1467 vfp->vs_knext = (vmem_seg_t *)(vfp + 1);
1468 vfp->vs_kprev = (vmem_seg_t *)(vfp - 1);
1584 vmem_seg_t *seg0 = &vmp->vm_seg0;
1585 vmem_seg_t *vsp, *anext;
1636 vmem_seg_t **old_table, **new_table, *vsp;
1667 vmem_seg_t *next_vsp = vsp->vs_knext;
1668 vmem_seg_t **hash_bucket = VMEM_HASH(vmp, addr);