bufqueue
bp = TAILQ_LAST(&bufqueuehd, bufqueue);
TAILQ_FOREACH_REVERSE(bp, &bufqueuehd, bufqueue, b_list)
TAILQ_FOREACH_REVERSE(bp, &bufqueuehd, bufqueue, b_list)
TAILQ_FOREACH_REVERSE(bp, &bufqueuehd, bufqueue, b_list)
TAILQ_FOREACH_REVERSE_SAFE(bp, &bufqueuehd, bufqueue, b_list, nbp) {
TAILQ_FOREACH_REVERSE_SAFE(bp, &bufqueuehd, bufqueue, b_list, nbp) {
static TAILQ_HEAD(bufqueue, bufarea) bufqueuehd; /* head of buffer cache LRU */
struct bufqueue *bd_subq;
struct bufqueue bd_dirtyq;
struct bufqueue *bd_cleanq;
static struct bufqueue *
static struct bufqueue *
struct bufqueue *bq, *nbq;
bq = bufqueue(bp);
nbq = bufqueue(bp);
struct bufqueue *bq;
struct bufqueue *bq;
struct bufqueue *bq;
struct bufqueue *bq;
bq_init(struct bufqueue *bq, int qindex, int subqueue, const char *lockname)
bd->bd_subq = mallocarray(mp_maxid + 2, sizeof(struct bufqueue),
bq_remove(struct bufqueue *bq, struct buf *bp)
KASSERT(bufqueue(bp) == bq,
static void bq_remove(struct bufqueue *bq, struct buf *bp);
static void bq_insert(struct bufqueue *bq, struct buf *bp, bool unlock);
bd_flush(struct bufdomain *bd, struct bufqueue *bq)
static void bq_init(struct bufqueue *bq, int qindex, int cpu,
struct bufqueue *bq;
bq_insert(struct bufqueue *bq, struct buf *bp, bool unlock)
struct bufqueue *bq;
struct bufqueue __exclusive_cache_line bqempty;