diff options
author | phk <phk@FreeBSD.org> | 2000-12-29 20:25:01 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2000-12-29 20:25:01 +0000 |
commit | 6180841d0aed4d2dd35553757bbc6fac788aeff0 (patch) | |
tree | 1149a18f8097a30d662ee62315d3d3d1cb5bc869 /lib/libc/db/mpool | |
parent | 8ba5f80fd8a3eb8d03ab5daf6949e48979a5bf48 (diff) | |
download | FreeBSD-src-6180841d0aed4d2dd35553757bbc6fac788aeff0.zip FreeBSD-src-6180841d0aed4d2dd35553757bbc6fac788aeff0.tar.gz |
Use TAILQ instead of CIRCLEQ.
Diffstat (limited to 'lib/libc/db/mpool')
-rw-r--r-- | lib/libc/db/mpool/mpool.c | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/lib/libc/db/mpool/mpool.c b/lib/libc/db/mpool/mpool.c index 29377d3..59ed4d3 100644 --- a/lib/libc/db/mpool/mpool.c +++ b/lib/libc/db/mpool/mpool.c @@ -86,9 +86,9 @@ mpool_open(key, fd, pagesize, maxcache) /* Allocate and initialize the MPOOL cookie. */ if ((mp = (MPOOL *)calloc(1, sizeof(MPOOL))) == NULL) return (NULL); - CIRCLEQ_INIT(&mp->lqh); + TAILQ_INIT(&mp->lqh); for (entry = 0; entry < HASHSIZE; ++entry) - CIRCLEQ_INIT(&mp->hqh[entry]); + TAILQ_INIT(&mp->hqh[entry]); mp->maxcache = maxcache; mp->npages = sb.st_size / pagesize; mp->pagesize = pagesize; @@ -142,8 +142,8 @@ mpool_new(mp, pgnoaddr) bp->flags = MPOOL_PINNED; head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_INSERT_HEAD(head, bp, hq); - CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q); + TAILQ_INSERT_HEAD(head, bp, hq); + TAILQ_INSERT_TAIL(&mp->lqh, bp, q); return (bp->page); } @@ -186,10 +186,10 @@ mpool_get(mp, pgno, flags) * of the lru chain. */ head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_REMOVE(head, bp, hq); - CIRCLEQ_INSERT_HEAD(head, bp, hq); - CIRCLEQ_REMOVE(&mp->lqh, bp, q); - CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q); + TAILQ_REMOVE(head, bp, hq); + TAILQ_INSERT_HEAD(head, bp, hq); + TAILQ_REMOVE(&mp->lqh, bp, q); + TAILQ_INSERT_TAIL(&mp->lqh, bp, q); /* Return a pinned page. */ bp->flags |= MPOOL_PINNED; @@ -222,8 +222,8 @@ mpool_get(mp, pgno, flags) * of the lru chain. */ head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_INSERT_HEAD(head, bp, hq); - CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q); + TAILQ_INSERT_HEAD(head, bp, hq); + TAILQ_INSERT_TAIL(&mp->lqh, bp, q); /* Run through the user's filter. */ if (mp->pgin != NULL) @@ -271,8 +271,8 @@ mpool_close(mp) BKT *bp; /* Free up any space allocated to the lru pages. */ - while ((bp = mp->lqh.cqh_first) != (void *)&mp->lqh) { - CIRCLEQ_REMOVE(&mp->lqh, mp->lqh.cqh_first, q); + while ((bp = TAILQ_FIRST(&mp->lqh)) != (void *)&mp->lqh) { + TAILQ_REMOVE(&mp->lqh, bp, q); free(bp); } @@ -292,8 +292,7 @@ mpool_sync(mp) BKT *bp; /* Walk the lru chain, flushing any dirty pages to disk. */ - for (bp = mp->lqh.cqh_first; - bp != (void *)&mp->lqh; bp = bp->q.cqe_next) + TAILQ_FOREACH(bp, &mp->lqh, q) if (bp->flags & MPOOL_DIRTY && mpool_write(mp, bp) == RET_ERROR) return (RET_ERROR); @@ -323,8 +322,7 @@ mpool_bkt(mp) * off any lists. If we don't find anything we grow the cache anyway. * The cache never shrinks. */ - for (bp = mp->lqh.cqh_first; - bp != (void *)&mp->lqh; bp = bp->q.cqe_next) + TAILQ_FOREACH(bp, &mp->lqh, q) if (!(bp->flags & MPOOL_PINNED)) { /* Flush if dirty. */ if (bp->flags & MPOOL_DIRTY && @@ -335,8 +333,8 @@ mpool_bkt(mp) #endif /* Remove from the hash and lru queues. */ head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_REMOVE(head, bp, hq); - CIRCLEQ_REMOVE(&mp->lqh, bp, q); + TAILQ_REMOVE(head, bp, hq); + TAILQ_REMOVE(&mp->lqh, bp, q); #ifdef DEBUG { void *spage; spage = bp->page; @@ -402,7 +400,7 @@ mpool_look(mp, pgno) BKT *bp; head = &mp->hqh[HASHKEY(pgno)]; - for (bp = head->cqh_first; bp != (void *)head; bp = bp->hq.cqe_next) + TAILQ_FOREACH(bp, head, hq) if (bp->pgno == pgno) { #ifdef STATISTICS ++mp->cachehit; @@ -446,8 +444,7 @@ mpool_stat(mp) sep = ""; cnt = 0; - for (bp = mp->lqh.cqh_first; - bp != (void *)&mp->lqh; bp = bp->q.cqe_next) { + TAILQ_FOREACH(bp, &mp->lqh, q) { (void)fprintf(stderr, "%s%d", sep, bp->pgno); if (bp->flags & MPOOL_DIRTY) (void)fprintf(stderr, "d"); |