Lines Matching refs:poolset

606 static uint64_t __maybe_unused get_free2_sum(struct bpoolset *poolset)  in get_free2_sum()  argument
608 struct bfhead *b = poolset->freelist.ql.flink; in get_free2_sum()
612 while (b != &poolset->freelist) { in get_free2_sum()
633 static void update_free2_sum(struct bpoolset *poolset __maybe_unused, in update_free2_sum()
641 uint64_t f2s __maybe_unused = get_free2_sum(poolset); in update_free2_sum()
643 assert(f2s == poolset->free2_sum - r2 + a2); in update_free2_sum()
644 assert(poolset->free2_sum >= r2); in update_free2_sum()
645 poolset->free2_sum -= r2; in update_free2_sum()
646 poolset->free2_sum += a2; in update_free2_sum()
652 void *bget(requested_align, hdr_size, requested_size, poolset) in bget() argument
656 struct bpoolset *poolset;
705 b = poolset->freelist.ql.flink;
707 best = &poolset->freelist;
715 while (b != &poolset->freelist) {
719 if ((best == &poolset->freelist) ||
729 while (b != &poolset->freelist) {
767 update_free2_sum(poolset, rem_sz, 0, add_sz);
786 assert(poolset->freelist.ql.blink->ql.flink ==
787 &poolset->freelist);
788 assert(poolset->freelist.ql.flink->ql.blink ==
789 &poolset->freelist);
790 b->ql.flink = &poolset->freelist;
791 b->ql.blink = poolset->freelist.ql.blink;
792 poolset->freelist.ql.blink = b;
797 update_free2_sum(poolset, 0, 0, b->bh.bsize);
801 poolset->totalloc -= b_alloc->bsize;
802 poolset->numget++; /* Increment number of bget() calls */
815 if ((poolset->compfcn == NULL) ||
816 (!(poolset->compfcn)(size, ++compactseq))) {
825 if (poolset->acqfcn != NULL) {
835 p = poolset->acqfcn(size);
859 poolset->totalloc += size;
860 poolset->numget++; /* Increment number of bget() calls */
861 poolset->numdget++; /* Direct bget() call count */
872 if ((newpool = poolset->acqfcn((bufsize) exp_incr)) != NULL) {
873 bpool(newpool, exp_incr, poolset);
892 void *bgetz(align, hdr_size, size, poolset) in bgetz() argument
896 struct bpoolset *poolset;
898 char *buf = (char *) bget(align, hdr_size, size, poolset);
925 void *bgetr(buf, align, hdr_size, size, poolset) in bgetr() argument
930 struct bpoolset *poolset;
936 if ((nbuf = bget(align, hdr_size, size, poolset)) == NULL) { /* Acquire new buffer */
962 brel(buf, poolset, false /* !wipe */);
968 void brel(buf, poolset, wipe) in brel() argument
970 struct bpoolset *poolset;
982 poolset->numrel++; /* Increment number of brel() calls */
996 poolset->totalloc -= bdh->tsize;
997 assert(poolset->totalloc >= 0);
998 poolset->numdrel++; /* Number of direct releases */
1005 assert(poolset->relfcn != NULL);
1006 poolset->relfcn((char *)buf - sizeof(struct bdhead) - bdh->offs); /* Release it directly. */
1025 poolset->totalloc += b->bh.bsize;
1026 assert(poolset->totalloc >= 0);
1051 update_free2_sum(poolset, rem_sz, 0, add_sz);
1057 assert(poolset->freelist.ql.blink->ql.flink == &poolset->freelist);
1058 assert(poolset->freelist.ql.flink->ql.blink == &poolset->freelist);
1059 b->ql.flink = &poolset->freelist;
1060 b->ql.blink = poolset->freelist.ql.blink;
1061 poolset->freelist.ql.blink = b;
1064 update_free2_sum(poolset, 0, 0, b->bh.bsize);
1090 update_free2_sum(poolset, rem_sz, rem_sz2, add_sz);
1120 if (poolset->relfcn != NULL &&
1130 poolset->relfcn(b);
1132 poolset->numprel++; /* Nr of expansion block releases */
1133 poolset->numpblk--; /* Total number of blocks */
1144 void bectl(compact, acquire, release, pool_incr, poolset)
1149 struct bpoolset *poolset; variable
1151 poolset->compfcn = compact;
1152 poolset->acqfcn = acquire;
1153 poolset->relfcn = release;
1154 poolset->exp_incr = pool_incr;
1160 void bpool(buf, len, poolset) in bpool() argument
1163 struct bpoolset *poolset;
1172 if (poolset->pool_len == 0) {
1174 } else if (len != poolset->pool_len) {
1175 poolset->pool_len = -1;
1178 poolset->numpget++; /* Number of block acquisitions */
1179 poolset->numpblk++; /* Number of blocks total */
1180 assert(poolset->numpblk == poolset->numpget - poolset->numprel);
1198 assert(poolset->freelist.ql.blink->ql.flink == &poolset->freelist);
1199 assert(poolset->freelist.ql.flink->ql.blink == &poolset->freelist);
1200 b->ql.flink = &poolset->freelist;
1201 b->ql.blink = poolset->freelist.ql.blink;
1202 poolset->freelist.ql.blink = b;
1215 update_free2_sum(poolset, 0, 0, b->bh.bsize);
1231 void bstats(curalloc, totfree, maxfree, nget, nrel, poolset) in bstats() argument
1234 struct bpoolset *poolset;
1236 struct bfhead *b = poolset->freelist.ql.flink;
1238 *nget = poolset->numget;
1239 *nrel = poolset->numrel;
1240 *curalloc = poolset->totalloc;
1243 while (b != &poolset->freelist) {
1257 void bstatse(pool_incr, npool, npget, nprel, ndget, ndrel, poolset) in bstatse() argument
1260 struct bpoolset *poolset;
1262 *pool_incr = (poolset->pool_len < 0) ?
1263 -poolset->exp_incr : poolset->exp_incr;
1264 *npool = poolset->numpblk;
1265 *npget = poolset->numpget;
1266 *nprel = poolset->numprel;
1267 *ndget = poolset->numdget;
1268 *ndrel = poolset->numdrel;
1490 struct bpoolset *poolset __maybe_unused) in stats()
1502 bstats(&cural, &totfree, &maxfree, &nget, &nfree, poolset); in stats()
1508 bstatse(&pincr, &totblocks, &npget, &nprel, &ndget, &ndrel, poolset); in stats()