pivot
struct kif_arp *pivot;
TAILQ_FOREACH(pivot, &kn->arps, entry) {
switch (karp_compare(ka, pivot)) {
return (pivot);
struct kif_arp *pivot;
TAILQ_FOREACH(pivot, &kn->arps, entry) {
switch (karp_compare(ka, pivot)) {
TAILQ_INSERT_BEFORE(pivot, ka, entry);
pivot(realstack);
pivot(newstack);
pivot(newstack);
pivot(&newstack[pagesize/sizeof(*newstack)/2]);
pivot(&newstack[pagesize/sizeof(*newstack)/2]);
pivot->entry = found;
pivot->dir = (arc4random() & 0x1 ? 1 : -1);
if (pivot->dir > 0)
pivot->addr = *addr_out + sz;
pivot->addr = *addr_out;
pivot->expire = PIVOT_EXPIRE - 1; /* First use is right now. */
struct uaddr_pivot *pivot;
pivot = &uaddr->up_pivots[
if (pivot->addr == 0 || pivot->entry == NULL || pivot->expire == 0)
entry = pivot->entry;
if (pivot->dir > 0) {
MAX(VMMAP_FREE_START(entry), pivot->addr),
pivot->addr = min + sz;
pivot->expire--;
MIN(VMMAP_FREE_END(entry), pivot->addr),
pivot->addr = max;
pivot->expire--;
err = uaddr_pivot_newpivot(map, uaddr, pivot, entry_out, addr_out,
struct uaddr_pivot *pivot;
pivot = &uaddr->up_pivots[i];
pivot->addr, pivot->expire, pivot->dir);
pivot = &uaddr->up_pivots[i];
check_addr = pivot->addr;
if (pivot->dir < 0)
i, pivot->addr);
struct uaddr_pivot *pivot,