bdump revision 1.1 1 1.1 gwr # Count the number of buffers in the buffer cache for which
2 1.1 gwr # bp->b_flags & $bufcount_match is non-0.
3 1.1 gwr #
4 1.1 gwr # @(#)bdump 8.1 (Berkeley) 6/10/93
5 1.1 gwr
6 1.1 gwr set $bufcount_match=0x020000
7 1.1 gwr define bufcount
8 1.1 gwr
9 1.1 gwr set $i = 0
10 1.1 gwr set $num = 0
11 1.1 gwr
12 1.1 gwr while ($i < 512)
13 1.1 gwr
14 1.1 gwr set $bp = bufhash[$i].b_forw
15 1.1 gwr while ($bp != bufhash[$i].b_back)
16 1.1 gwr if ($bp->b_flags & $bufcount_match)
17 1.1 gwr set $num++
18 1.1 gwr end
19 1.1 gwr set $bp = $bp->b_forw
20 1.1 gwr end
21 1.1 gwr # printf "bucket: %d cumulative %d\n", $i, $num
22 1.1 gwr set $i++
23 1.1 gwr end
24 1.1 gwr printf "Number of buffers with flags & %x in hash table: %d\n", $bufcount_match, $num
25 1.1 gwr end
26 1.1 gwr
27 1.1 gwr # Dump the entire buffer cache.
28 1.1 gwr
29 1.1 gwr define bufdump
30 1.1 gwr
31 1.1 gwr set $i = 0
32 1.1 gwr set $num = 0
33 1.1 gwr
34 1.1 gwr while ($i < 512)
35 1.1 gwr
36 1.1 gwr set $bp = bufhash[$i].b_forw
37 1.1 gwr while ($bp != bufhash[$i].b_back)
38 1.1 gwr printf "bp=0x%x flags=0x%x vp=0x%x lblkno=0x%x blkno=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_blkno
39 1.1 gwr set $num++
40 1.1 gwr set $bp = $bp->b_forw
41 1.1 gwr end
42 1.1 gwr set $i++
43 1.1 gwr end
44 1.1 gwr printf "Number of buffers in hash table: %d\n", $num
45 1.1 gwr end
46 1.1 gwr
47 1.1 gwr # Dump the buffers in a particular hashbucket.
48 1.1 gwr # usage: dumpbucket bucketnumber
49 1.1 gwr define dumpbucket
50 1.1 gwr
51 1.1 gwr set $num = 0
52 1.1 gwr set $bp = bufhash[$arg0].b_forw
53 1.1 gwr while ($bp != bufhash[$arg0].b_back)
54 1.1 gwr printf "bp=0x%x flags=0x%x vp=0x%x lblkno=0x%x blkno=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_blkno
55 1.1 gwr set $num++
56 1.1 gwr set $bp = $bp->b_forw
57 1.1 gwr end
58 1.1 gwr printf "Number of buffers in bucket %d: %d\n", $arg0, $num
59 1.1 gwr end
60 1.1 gwr
61 1.1 gwr # Dump the buffers on the empty and age queues
62 1.1 gwr
63 1.1 gwr define bdumpnew
64 1.1 gwr
65 1.1 gwr set $i = 0
66 1.1 gwr set $num = 0
67 1.1 gwr
68 1.1 gwr while ($i < 4)
69 1.1 gwr
70 1.1 gwr printf "Queue %d\n", $i
71 1.1 gwr set $bp = (struct buf *)bufqueues[$i].qe_next
72 1.1 gwr while ($bp)
73 1.1 gwr printf "bp=0x%x flags=0x%x vp=0x%x lbn=%d size=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_bufsize
74 1.1 gwr set $num++
75 1.1 gwr set $bp = (struct buf *)$bp->b_freelist.qe_next
76 1.1 gwr end
77 1.1 gwr set $i++
78 1.1 gwr end
79 1.1 gwr printf "Number of buffers in free lists: %d\n", $num
80 1.1 gwr end
81 1.1 gwr
82 1.1 gwr define dumpchain
83 1.1 gwr
84 1.1 gwr set $bp = (struct buf *)$arg0
85 1.1 gwr while ($bp)
86 1.1 gwr printf "bp=0x%x flags=0x%x bn=0x%x lbn=%d count=%d size=%d\n", $bp, $bp->b_flags, $bp->b_blkno, $bp->b_lblkno, $bp->b_bcount, $bp->b_bufsize
87 1.1 gwr set $bp = (struct buf *)$bp->b_vnbufs.qe_next
88 1.1 gwr end
89 1.1 gwr end
90 1.1 gwr
91 1.1 gwr define dumpq
92 1.1 gwr
93 1.1 gwr set $num = 0
94 1.1 gwr
95 1.1 gwr printf "Queue %d\n", $arg0
96 1.1 gwr set $bp = (struct buf *)bufqueues[$arg0].qe_next
97 1.1 gwr while ($bp)
98 1.1 gwr printf "bp=0x%x flags=0x%x vp=0x%x lbn=%d size=0x%x\n", $bp, $bp->b_flags, $bp->b_vp, $bp->b_lblkno, $bp->b_bufsize
99 1.1 gwr set $num++
100 1.1 gwr set $bp = (struct buf *)$bp->b_freelist.qe_next
101 1.1 gwr end
102 1.1 gwr printf "Number of buffers on queue %d: %d\n", $arg0, $num
103 1.1 gwr end
104