Lines Matching refs:np

89 np_free(struct available *np)  in np_free()  argument
91 kmem_free(np, sizeof (struct available)); in np_free()
98 np_unlink(struct available *np) in np_unlink() argument
100 if (np->prev) in np_unlink()
101 np->prev->next = np->next; in np_unlink()
103 nhead = np->next; in np_unlink()
105 if (np->next) in np_unlink()
106 np->next->prev = np->prev; in np_unlink()
113 np_insert(struct available *fp, struct available *np) in np_insert() argument
115 fp->prev = np->prev; in np_insert()
116 fp->next = np; in np_insert()
118 if (np->prev) in np_insert()
119 np->prev->next = fp; in np_insert()
122 np->prev = fp; in np_insert()
131 struct available *np; in np_add() local
138 for (np = nhead; np->next != NULL; np = np->next) in np_add()
141 np->next = fp; in np_add()
142 fp->prev = np; in np_add()
151 np_coalesce(struct available *np) in np_coalesce() argument
155 xp = np->next; in np_coalesce()
159 if ((np->nodeid + np->count) == xp->nodeid) { in np_coalesce()
160 np->count += xp->count; in np_coalesce()
169 struct available *np; in impl_ddi_init_nodeid() local
177 np = np_alloc(KM_SLEEP); in impl_ddi_init_nodeid()
178 *np = seed; in impl_ddi_init_nodeid()
179 nhead = np; in impl_ddi_init_nodeid()
185 struct available *np; in impl_ddi_alloc_nodeid() local
197 np = nhead; in impl_ddi_alloc_nodeid()
198 x = (int)((unsigned int)np->nodeid); in impl_ddi_alloc_nodeid()
199 ++np->nodeid; in impl_ddi_alloc_nodeid()
200 --np->count; in impl_ddi_alloc_nodeid()
201 if (np->count == 0) { in impl_ddi_alloc_nodeid()
202 np_unlink(np); in impl_ddi_alloc_nodeid()
208 np_free(np); in impl_ddi_alloc_nodeid()
222 struct available *np, *fp; in impl_ddi_free_nodeid() local
240 for (np = nhead; np != NULL; np = np->next) { in impl_ddi_free_nodeid()
244 if ((nodeid + 1) == np->nodeid) { in impl_ddi_free_nodeid()
245 np->nodeid = nodeid; in impl_ddi_free_nodeid()
246 ++np->count; in impl_ddi_free_nodeid()
255 if (nodeid == (np->nodeid + np->count)) { in impl_ddi_free_nodeid()
256 ++np->count; in impl_ddi_free_nodeid()
257 np_coalesce(np); in impl_ddi_free_nodeid()
265 if (nodeid < np->nodeid) { in impl_ddi_free_nodeid()
268 np_insert(fp, np); in impl_ddi_free_nodeid()
272 if (nodeid < (np->nodeid + np->count)) in impl_ddi_free_nodeid()
297 struct available *np, *fp; in impl_ddi_take_nodeid() local
323 for (np = nhead; np != NULL; np = np->next) { in impl_ddi_take_nodeid()
328 if (nodeid < np->nodeid) in impl_ddi_take_nodeid()
334 if ((nodeid) == np->nodeid) { in impl_ddi_take_nodeid()
335 ++np->nodeid; in impl_ddi_take_nodeid()
336 --np->count; in impl_ddi_take_nodeid()
337 if (np->count == 0) { in impl_ddi_take_nodeid()
338 np_unlink(np); in impl_ddi_take_nodeid()
345 np_free(np); in impl_ddi_take_nodeid()
354 if (nodeid == (np->nodeid + np->count - 1)) { in impl_ddi_take_nodeid()
355 --np->count; in impl_ddi_take_nodeid()
356 ASSERT(np->count != 0); in impl_ddi_take_nodeid()
368 if (nodeid < (np->nodeid + np->count - 1)) { in impl_ddi_take_nodeid()
382 fp->nodeid = np->nodeid; in impl_ddi_take_nodeid()
383 fp->count = nodeid - np->nodeid; in impl_ddi_take_nodeid()
384 np->nodeid = nodeid + 1; in impl_ddi_take_nodeid()
385 np->count = np->count - fp->count - 1; in impl_ddi_take_nodeid()
386 ASSERT((fp->count != 0) && (np->count != 0)); in impl_ddi_take_nodeid()
387 ASSERT(np->nodeid == (fp->nodeid + fp->count + 1)); in impl_ddi_take_nodeid()
388 np_insert(fp, np); in impl_ddi_take_nodeid()