Lines Matching refs:np

91 np_free(struct available *np)
93 kmem_free(np, sizeof (struct available));
100 np_unlink(struct available *np)
102 if (np->prev)
103 np->prev->next = np->next;
105 nhead = np->next;
107 if (np->next)
108 np->next->prev = np->prev;
112 * Insert fp before np ... the lock must be held.
115 np_insert(struct available *fp, struct available *np)
117 fp->prev = np->prev;
118 fp->next = np;
120 if (np->prev)
121 np->prev->next = fp;
124 np->prev = fp;
133 struct available *np;
140 for (np = nhead; np->next != NULL; np = np->next)
143 np->next = fp;
144 fp->prev = np;
153 np_coalesce(struct available *np)
157 xp = np->next;
161 if ((np->nodeid + np->count) == xp->nodeid) {
162 np->count += xp->count;
171 struct available *np;
179 np = np_alloc(KM_SLEEP);
180 *np = seed;
181 nhead = np;
187 struct available *np;
199 np = nhead;
200 x = (int)((unsigned int)np->nodeid);
201 ++np->nodeid;
202 --np->count;
203 if (np->count == 0) {
204 np_unlink(np);
210 np_free(np);
224 struct available *np, *fp;
242 for (np = nhead; np != NULL; np = np->next) {
246 if ((nodeid + 1) == np->nodeid) {
247 np->nodeid = nodeid;
248 ++np->count;
257 if (nodeid == (np->nodeid + np->count)) {
258 ++np->count;
259 np_coalesce(np);
267 if (nodeid < np->nodeid) {
270 np_insert(fp, np);
274 if (nodeid < (np->nodeid + np->count))
299 struct available *np, *fp;
325 for (np = nhead; np != NULL; np = np->next) {
330 if (nodeid < np->nodeid)
336 if ((nodeid) == np->nodeid) {
337 ++np->nodeid;
338 --np->count;
339 if (np->count == 0) {
340 np_unlink(np);
347 np_free(np);
356 if (nodeid == (np->nodeid + np->count - 1)) {
357 --np->count;
358 ASSERT(np->count != 0);
367 * have to split np into two items, removing nodeid
370 if (nodeid < (np->nodeid + np->count - 1)) {
380 * Split np, removing nodeid from the middle of
384 fp->nodeid = np->nodeid;
385 fp->count = nodeid - np->nodeid;
386 np->nodeid = nodeid + 1;
387 np->count = np->count - fp->count - 1;
388 ASSERT((fp->count != 0) && (np->count != 0));
389 ASSERT(np->nodeid == (fp->nodeid + fp->count + 1));
390 np_insert(fp, np);