Lines Matching refs:plp
291 pmem_lpg_t *plp = NULL; in devmap_pmem_alloc() local
346 if (lpp_create(&lpp, i, &lpages, &plp, pcp->dp_vnp, &pmem_off, in devmap_pmem_alloc()
357 lpp_break(&lpp, lpages, lpages - rpages, plp); in devmap_pmem_alloc()
372 pmem_lpg_concat(&pmem_occ_lpgs, &plp); in devmap_pmem_alloc()
394 lpp_free(lpp, lpages / pmem_pgcnt, &plp); in devmap_pmem_alloc()
425 pmem_lpg_t *pl1, *plp; in devmap_pmem_free() local
448 plp = pmem_lpg_get(pmem_occ_lpgs, pp, &last_pl); in devmap_pmem_free()
449 if (plp && !(plp->pl_pfree)) { in devmap_pmem_free()
454 pmem_lpg_sub(&pmem_occ_lpgs, plp); in devmap_pmem_free()
455 pmem_lpg_concat(&pf_lpgs, &plp); in devmap_pmem_free()
456 plp->pl_pfree = 1; in devmap_pmem_free()
461 plp = pmem_lpg_get(pf_lpgs, pp, &plast_pl); in devmap_pmem_free()
463 ASSERT(plp); in devmap_pmem_free()
465 BT_SET(plp->pl_bitmap, PFIND(pp)); in devmap_pmem_free()
475 for (plp = pf_lpgs; npls != 0; npls--) { in devmap_pmem_free()
476 pl1 = plp; in devmap_pmem_free()
477 plp = plp->pl_next; in devmap_pmem_free()
568 lpg_isfree(pmem_lpg_t *plp) in lpg_isfree() argument
573 if (plp->pl_bitmap[i] != BT_ULMAXMASK) in lpg_isfree()
587 pmem_lpg_t *plp; in pmem_lpg_get() local
600 for (plp = splp; root_pfn != page_pptonum(plp->pl_pp); ) { in pmem_lpg_get()
601 plp = plp->pl_next; in pmem_lpg_get()
602 if (plp == splp) { in pmem_lpg_get()
603 plp = NULL; in pmem_lpg_get()
606 ASSERT(plp->pl_pp); in pmem_lpg_get()
609 *last = plp; in pmem_lpg_get()
619 pmem_lpg_sub(pmem_lpg_t **oplpp, pmem_lpg_t *plp) in pmem_lpg_sub() argument
621 if (*oplpp == plp) in pmem_lpg_sub()
622 *oplpp = plp->pl_next; /* go to next pmem_lpg */ in pmem_lpg_sub()
624 if (*oplpp == plp) in pmem_lpg_sub()
627 plp->pl_prev->pl_next = plp->pl_next; in pmem_lpg_sub()
628 plp->pl_next->pl_prev = plp->pl_prev; in pmem_lpg_sub()
630 plp->pl_prev = plp->pl_next = plp; /* make plp a list of one */ in pmem_lpg_sub()
665 pmem_lpg_t *plp; in pmem_lpg_alloc() local
668 plp = kmem_zalloc(sizeof (pmem_lpg_t), kflags); in pmem_lpg_alloc()
669 if (plp == NULL) in pmem_lpg_alloc()
671 plp->pl_bitmap = kmem_zalloc(BT_SIZEOFMAP(pmem_pgcnt), kflags); in pmem_lpg_alloc()
672 if (plp->pl_bitmap == NULL) { in pmem_lpg_alloc()
673 kmem_free(plp, sizeof (*plp)); in pmem_lpg_alloc()
676 plp->pl_next = plp->pl_prev = plp; in pmem_lpg_alloc()
677 return (plp); in pmem_lpg_alloc()
682 pmem_lpg_free(pmem_lpg_t **headp, pmem_lpg_t *plp) in pmem_lpg_free() argument
684 if (*headp == plp) in pmem_lpg_free()
685 *headp = plp->pl_next; /* go to next pmem_lpg_t */ in pmem_lpg_free()
687 if (*headp == plp) in pmem_lpg_free()
690 plp->pl_prev->pl_next = plp->pl_next; in pmem_lpg_free()
691 plp->pl_next->pl_prev = plp->pl_prev; in pmem_lpg_free()
693 kmem_free(plp->pl_bitmap, BT_SIZEOFMAP(pmem_pgcnt)); in pmem_lpg_free()
694 kmem_free(plp, sizeof (*plp)); in pmem_lpg_free()
756 pmem_lpg_t *plp; in lpp_create() local
769 if ((plp = pmem_lpg_alloc(kflags)) == NULL) in lpp_create()
771 plp->pl_pp = pp; in lpp_create()
772 pmem_lpg_concat(plpp, &plp); in lpp_create()
786 pmem_lpg_t *plp; in lpp_break() local
794 plp = oplp->pl_prev; in lpp_break()
800 BT_SET(plp->pl_bitmap, PFIND(pp1)); in lpp_break()
848 pmem_lpg_t *plp, *last_pl = NULL; in tlist_in() local
855 plp = pmem_lpg_get(pmem_occ_lpgs, pp, &last_pl); in tlist_in()
857 BT_CLEAR(plp->pl_bitmap, PFIND(pp)); in tlist_in()
873 pmem_lpg_t *plp, *last_pl = NULL; in tlist_out() local
880 plp = pmem_lpg_get(pmem_occ_lpgs, pp, &last_pl); in tlist_out()
882 BT_SET(plp->pl_bitmap, PFIND(pp)); in tlist_out()