Lines Matching defs:span

76  * of just one span: [kernelheap, ekernelheap).  Spans can be added to an
83 * or free. A segment, like a span, is a contiguous range of integers.
89 * The segments within a span are linked together in increasing-address order
92 * Segments never cross span boundaries. When all segments within
93 * an imported span become free, we return the span to its source.
148 * special marker segments at span boundaries. Span markers simplify
150 * we're at a span boundary (so we don't coalesce across it), and when
151 * a span is completely free (its neighbors will both be span markers).
158 * (3) for span marker segments, vs_knext is the next span marker.
228 * Adding a new span to an arena requires two segment structures: one to
229 * represent the span, and one to represent the free segment it contains.
256 * a new span and then allocate from the middle of it.
276 * vmem_alloc(vmem_seg_arena) -> 2 segs (span create + exact alloc)
278 * vmem_alloc(vmem_metadata_arena) -> 3 segs (span create + left alloc)
284 * vmem_alloc(hat_memload_arena) -> 2 segs (span create + exact alloc)
551 * Add the span [vaddr, vaddr + size) to vmp and update kstats.
556 vmem_seg_t *newseg, *span;
566 span = vmem_seg_create(vmp, vmp->vm_seg0.vs_aprev, start, end);
567 span->vs_type = VMEM_SPAN;
568 span->vs_import = import;
569 VMEM_INSERT(vmp->vm_seg0.vs_kprev, span, k);
571 newseg = vmem_seg_create(vmp, span, start, end);
582 * Remove span vsp from vmp and update kstats.
587 vmem_seg_t *span = vsp->vs_aprev;
591 ASSERT(span->vs_type == VMEM_SPAN);
593 if (span->vs_import)
597 VMEM_DELETE(span, k);
600 vmem_seg_destroy(vmp, span);
790 * vsp could represent a complete imported span,
913 * Used to decide if a newly imported span is superfluous after re-acquiring
1238 * If the entire span is free, return it to the source.
1352 * Add the span [vaddr, vaddr + size) to arena vmp.
1436 * Create an arena called name whose initial span is [base, base + size).