Lines Matching refs:np
91 np_free(struct available *np) in np_free() argument
93 kmem_free(np, sizeof (struct available)); in np_free()
100 np_unlink(struct available *np) in np_unlink() argument
102 if (np->prev) in np_unlink()
103 np->prev->next = np->next; in np_unlink()
105 nhead = np->next; in np_unlink()
107 if (np->next) in np_unlink()
108 np->next->prev = np->prev; in np_unlink()
115 np_insert(struct available *fp, struct available *np) in np_insert() argument
117 fp->prev = np->prev; in np_insert()
118 fp->next = np; in np_insert()
120 if (np->prev) in np_insert()
121 np->prev->next = fp; in np_insert()
124 np->prev = fp; in np_insert()
133 struct available *np; in np_add() local
140 for (np = nhead; np->next != NULL; np = np->next) in np_add()
143 np->next = fp; in np_add()
144 fp->prev = np; in np_add()
153 np_coalesce(struct available *np) in np_coalesce() argument
157 xp = np->next; in np_coalesce()
161 if ((np->nodeid + np->count) == xp->nodeid) { in np_coalesce()
162 np->count += xp->count; in np_coalesce()
171 struct available *np; in impl_ddi_init_nodeid() local
179 np = np_alloc(KM_SLEEP); in impl_ddi_init_nodeid()
180 *np = seed; in impl_ddi_init_nodeid()
181 nhead = np; in impl_ddi_init_nodeid()
187 struct available *np; in impl_ddi_alloc_nodeid() local
199 np = nhead; in impl_ddi_alloc_nodeid()
200 x = (int)((unsigned int)np->nodeid); in impl_ddi_alloc_nodeid()
201 ++np->nodeid; in impl_ddi_alloc_nodeid()
202 --np->count; in impl_ddi_alloc_nodeid()
203 if (np->count == 0) { in impl_ddi_alloc_nodeid()
204 np_unlink(np); in impl_ddi_alloc_nodeid()
210 np_free(np); in impl_ddi_alloc_nodeid()
224 struct available *np, *fp; in impl_ddi_free_nodeid() local
242 for (np = nhead; np != NULL; np = np->next) { in impl_ddi_free_nodeid()
246 if ((nodeid + 1) == np->nodeid) { in impl_ddi_free_nodeid()
247 np->nodeid = nodeid; in impl_ddi_free_nodeid()
248 ++np->count; in impl_ddi_free_nodeid()
257 if (nodeid == (np->nodeid + np->count)) { in impl_ddi_free_nodeid()
258 ++np->count; in impl_ddi_free_nodeid()
259 np_coalesce(np); in impl_ddi_free_nodeid()
267 if (nodeid < np->nodeid) { in impl_ddi_free_nodeid()
270 np_insert(fp, np); in impl_ddi_free_nodeid()
274 if (nodeid < (np->nodeid + np->count)) in impl_ddi_free_nodeid()
299 struct available *np, *fp; in impl_ddi_take_nodeid() local
325 for (np = nhead; np != NULL; np = np->next) { in impl_ddi_take_nodeid()
330 if (nodeid < np->nodeid) in impl_ddi_take_nodeid()
336 if ((nodeid) == np->nodeid) { in impl_ddi_take_nodeid()
337 ++np->nodeid; in impl_ddi_take_nodeid()
338 --np->count; in impl_ddi_take_nodeid()
339 if (np->count == 0) { in impl_ddi_take_nodeid()
340 np_unlink(np); in impl_ddi_take_nodeid()
347 np_free(np); in impl_ddi_take_nodeid()
356 if (nodeid == (np->nodeid + np->count - 1)) { in impl_ddi_take_nodeid()
357 --np->count; in impl_ddi_take_nodeid()
358 ASSERT(np->count != 0); in impl_ddi_take_nodeid()
370 if (nodeid < (np->nodeid + np->count - 1)) { in impl_ddi_take_nodeid()
384 fp->nodeid = np->nodeid; in impl_ddi_take_nodeid()
385 fp->count = nodeid - np->nodeid; in impl_ddi_take_nodeid()
386 np->nodeid = nodeid + 1; in impl_ddi_take_nodeid()
387 np->count = np->count - fp->count - 1; in impl_ddi_take_nodeid()
388 ASSERT((fp->count != 0) && (np->count != 0)); in impl_ddi_take_nodeid()
389 ASSERT(np->nodeid == (fp->nodeid + fp->count + 1)); in impl_ddi_take_nodeid()
390 np_insert(fp, np); in impl_ddi_take_nodeid()