Home | History | Annotate | Download | only in uvm

Lines Matching defs:ppref

75  * what is ppref?   ppref is an _optional_ amap feature which is used
84 * that we tried to do ppref's but couldn't alloc the array so just
95 * ppref: -3 4 x x 4 -2 2 -1 3 x -5 2 1 -2 3 x
110 * => ppref's amap must be locked
113 pp_getreflen(int *ppref, int offset, int *refp, int *lenp)
116 if (ppref[offset] > 0) { /* chunk size must be 1 */
117 *refp = ppref[offset] - 1; /* don't forget to adjust */
120 *refp = (ppref[offset] * -1) - 1;
121 *lenp = ppref[offset+1];
128 * => ppref's amap must be locked
131 pp_setreflen(int *ppref, int offset, int ref, int len)
136 ppref[offset] = ref + 1;
138 ppref[offset] = (ref + 1) * -1;
139 ppref[offset+1] = len;
395 * we have been using ppref then we know that only slots in
396 * the one map entry's range can have anons, since ppref
398 * entries which used this amap were removed. But without ppref,
635 /* do ppref */
1156 /* Establish ppref before we add a duplicate reference to the amap. */
1170 * amap_pp_establish: add a ppref array to an amap, if possible.
1183 /* Failure - just do not use ppref. */
1196 * => caller must check that ppref != PPREF_NONE before calling.
1202 int stopslot, *ppref, lcv, prevlcv;
1208 ppref = amap->am_ppref;
1216 pp_getreflen(ppref, lcv, &ref, &len);
1218 pp_setreflen(ppref, lcv, ref, curslot - lcv);
1219 pp_setreflen(ppref, curslot, ref, len - (curslot -lcv));
1228 * the ppref array; that is, there is no previous chunk.
1233 pp_getreflen(ppref, prevlcv, &prevref, &prevlen);
1242 pp_getreflen(ppref, lcv, &ref, &len);
1244 pp_setreflen(ppref, lcv, ref, stopslot - lcv);
1245 pp_setreflen(ppref, stopslot, ref,
1253 pp_setreflen(ppref, prevlcv, ref, prevlen + len);
1255 pp_setreflen(ppref, lcv, ref, len);
1595 * We must establish the ppref array before changing am_ref
1596 * so that the ppref values match the current amap refcount.