Lines Matching refs:prr
4407 struct prison_racct *prr;
4410 LIST_FOREACH(prr, &allprison_racct, prr_next)
4411 (callback)(prr->prr_racct, arg2, arg3);
4418 struct prison_racct *prr;
4425 LIST_FOREACH(prr, &allprison_racct, prr_next) {
4426 if (strcmp(name, prr->prr_name) != 0)
4430 prison_racct_hold(prr);
4431 return (prr);
4435 prr = malloc(sizeof(*prr), M_PRISON_RACCT, M_ZERO | M_WAITOK);
4436 racct_create(&prr->prr_racct);
4438 strcpy(prr->prr_name, name);
4439 refcount_init(&prr->prr_refcount, 1);
4440 LIST_INSERT_HEAD(&allprison_racct, prr, prr_next);
4442 return (prr);
4448 struct prison_racct *prr;
4451 prr = prison_racct_find_locked(name);
4453 return (prr);
4457 prison_racct_hold(struct prison_racct *prr)
4460 refcount_acquire(&prr->prr_refcount);
4464 prison_racct_free_locked(struct prison_racct *prr)
4469 if (refcount_release(&prr->prr_refcount)) {
4470 racct_destroy(&prr->prr_racct);
4471 LIST_REMOVE(prr, prr_next);
4472 free(prr, M_PRISON_RACCT);
4477 prison_racct_free(struct prison_racct *prr)
4483 old = prr->prr_refcount;
4484 if (old > 1 && atomic_cmpset_int(&prr->prr_refcount, old, old - 1))
4488 prison_racct_free_locked(prr);
4496 struct prison_racct *prr;
4500 prr = prison_racct_find_locked(pr->pr_name);
4501 KASSERT(prr != NULL, ("cannot find prison_racct"));
4503 pr->pr_prison_racct = prr;