Home | History | Annotate | Download | only in pdsim

Lines Matching refs:bp

70 buf_print(struct buf *bp, char *s)
73 DFPRINTF(stderr, "%d(%s,%s,%d)%s", (bp - bufs),
74 (bp->b_type == B_L) ? "L" :
75 (bp->b_type == (B_H | B_R)) ? "HR" :
76 (bp->b_type == B_H) ? "H" :
77 (bp->b_type == 0) ? "free" :
79 (bp->b_flags & B_S) ? "S" : "",
80 bp->b_irr,
88 struct buf *bp;
92 TAILQ_FOREACH(bp, &q_s, b_s) {
93 buf_print(bp, " ");
98 TAILQ_FOREACH(bp, &q_q, b_q) {
99 buf_print(bp, " ");
106 bp = &bufs[i];
120 struct buf *bp;
126 bp = TAILQ_FIRST(&q_q);
127 buf_print(bp, ": reclaim\n");
128 assert(bp->b_type == (B_H | B_R));
129 TAILQ_REMOVE(&q_q, bp, b_q);
130 bp->b_type &= ~B_R;
139 struct buf *bp;
141 bp = TAILQ_FIRST(&q_s);
142 if (bp->b_type == B_L) {
145 buf_print(bp, ": prune\n");
146 TAILQ_REMOVE(&q_s, bp, b_s);
147 assert(bp->b_flags & B_S);
148 bp->b_flags &= ~B_S;
149 if ((bp->b_type & B_R) == 0) {
150 bp->b_type &= ~B_H;
158 struct buf *bp;
164 bp = TAILQ_FIRST(&q_s);
165 buf_print(bp, ": reclaim_l\n");
166 assert(bp->b_type == B_L);
167 assert(bp->b_flags & B_S);
168 bp->b_type = B_H | B_R;
169 bp->b_flags &= ~B_S;
170 TAILQ_REMOVE(&q_s, bp, b_s);
171 TAILQ_INSERT_TAIL(&q_q, bp, b_q);
197 struct buf *bp;
204 bp = &bufs[i];
205 buf_print(bp, ": access\n");
206 if (bp->b_type == 0) {
207 bp->b_irr = -1;
209 bp->b_irr = ts - bp->b_lastts - 1;
211 bp->b_lastts = ts;
213 if (bp->b_type == B_L) {
214 assert(bp->b_flags & B_S);
215 TAILQ_REMOVE(&q_s, bp, b_s);
216 TAILQ_INSERT_TAIL(&q_s, bp, b_s);
220 if (bp->b_type == (B_H | B_R)) {
221 if (bp->b_flags & B_S) {
222 TAILQ_REMOVE(&q_s, bp, b_s);
223 TAILQ_REMOVE(&q_q, bp, b_q);
224 bp->b_type = B_L;
228 TAILQ_REMOVE(&q_q, bp, b_q);
229 TAILQ_INSERT_TAIL(&q_q, bp, b_q);
231 TAILQ_INSERT_TAIL(&q_s, bp, b_s);
232 bp->b_flags |= B_S;
237 if ((bp->b_flags & (B_R | B_L)) == 0) {
240 if (bp->b_type == 0) {
241 buf_print(bp, ": new\n");
243 bp->b_type = B_L;
244 TAILQ_INSERT_TAIL(&q_s, bp, b_s);
245 bp->b_flags |= B_S;
248 bp->b_type = B_H;
251 if (bp->b_type == B_H) {
252 if (bp->b_flags & B_S) {
253 TAILQ_REMOVE(&q_s, bp, b_s);
254 bp->b_type = B_L;
258 bp->b_type |= B_R;
259 TAILQ_INSERT_TAIL(&q_q, bp, b_q);
261 TAILQ_INSERT_TAIL(&q_s, bp, b_s);
262 bp->b_flags |= B_S;