Lines Matching defs:plp

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