Lines Matching refs:lp

256 /* when we use lp for kmem we start the cage at a higher initial value */
291 struct kcage_glist *lp = kcage_current_glist;
295 ASSERT(lp != NULL);
297 *pfncur = lp->curr;
299 return (lp->decr);
320 struct kcage_glist *lp;
334 for (lp = incage ? kcage_glist : kcage_current_glist;
335 lp != NULL; lp = lp->next) {
340 if ((incage && lp->decr) || (!incage && !lp->decr)) {
341 klo = lp->curr;
342 khi = lp->lim;
344 klo = lp->base;
345 khi = lp->curr;
357 if (incage && lp == kcage_current_glist) {
482 struct kcage_glist *lp;
502 for (lp = kcage_glist; lp != NULL; lp = lp->next) {
507 if ((lp->decr == 0 && lp->curr == lp->base) ||
508 (lp->decr != 0 && lp->curr == lp->lim))
513 if (base >= lp->lim || lim <= lp->base)
519 if (lp->decr == 0 && base < lp->curr && lim >= lp->base) {
522 if (lp->decr != 0 && base < lp->lim && lim >= lp->curr) {
605 kcage_glist_free(struct kcage_glist *lp)
607 lp->next = kcage_glist_freelist;
608 kcage_glist_freelist = lp;
614 struct kcage_glist *lp, *prev = *lpp;
616 while ((lp = *lpp) != NULL) {
617 if (lim > lp->base && base < lp->lim) {
619 if (base <= lp->base && lim >= lp->lim) {
621 *lpp = lp->next;
622 if (lp == kcage_current_glist) {
627 kcage_glist_free(lp);
632 if (base > lp->base && lim < lp->lim) {
646 * Edit lp in place to preserve
649 new->decr = lp->decr;
651 new->base = lp->base;
655 lp->base = lim;
658 new->lim = lp->lim;
661 lp->lim = base;
665 new->next = lp->next;
666 lp->next = new;
667 lpp = &lp->next;
670 if (base > lp->base) {
671 ASSERT(lim >= lp->lim);
672 ASSERT(base < lp->lim);
673 if (lp->decr != 0 &&
674 lp->curr == lp->lim)
675 lp->curr = base;
676 lp->lim = base;
678 ASSERT(base <= lp->base);
679 ASSERT(lim > lp->base);
680 if (lp->decr == 0 &&
681 lp->curr == lp->base)
682 lp->curr = lim;
683 lp->base = lim;
697 * Changes to lp->curr can cause race conditions, but
703 struct kcage_glist *lp;
709 lp = kcage_current_glist;
710 while (lp != NULL) {
711 if (lp->decr != 0) {
712 if (lp->curr != lp->base) {
713 pfn = --lp->curr;
717 if (lp->curr != lp->lim) {
718 pfn = lp->curr++;
723 lp = lp->next;
724 if (lp)
725 kcage_current_glist = lp;
761 static struct kcage_glist *lp = NULL;
765 lp = NULL;
766 if (lp == NULL) {
767 lp = kcage_glist;
772 if (lp == NULL)
775 if (lp->decr != 0) {
783 pfn = lp->curr;
792 pfn = lp->base;
796 if (lp->decr != 0) { /* decrementing pfn */
797 if (pfn == lp->lim) {
799 if (lp == kcage_current_glist)
800 lp = NULL;
802 lp = lp->next;
807 ASSERT(pfn >= lp->curr && pfn < lp->lim);
809 if (pfn == lp->curr) {
811 if (lp == kcage_current_glist)
812 lp = NULL;
814 lp = lp->next;
819 ASSERT(pfn >= lp->base && pfn < lp->curr);
881 * page availability when lp for kmem is enabled and kpr is disabled
916 /* increase preferred cage size for lp for kmem */
1031 struct kcage_glist *lp;
1039 for (lp = kcage_glist; lp != NULL; lp = lp->next) {
1040 if (lp->decr) {
1041 if (lp->curr != lp->lim) {
1045 if (lp->curr != lp->base) {
1061 struct kcage_glist *lp;
1074 for (lp = kcage_glist; lp != NULL; lp = lp->next, kspmem++) {
1078 if (lp->decr) {
1079 if (lp->curr != lp->lim) {
1080 kspmem->address = ptob(lp->curr);
1081 kspmem->size = ptob(lp->lim - lp->curr);
1084 if (lp->curr != lp->base) {
1085 kspmem->address = ptob(lp->base);
1086 kspmem->size = ptob(lp->curr - lp->base);