|
|
1.1 root 1: /* qdump.c - qdump, qdumph, qdumpa */
2:
3: #include <conf.h>
4: #include <kernel.h>
5: #include <proc.h>
6: #include <q.h>
7:
8: #define isbadq(i) ( (i)<0 || (i)>=NQENT )
9:
10: /*------------------------------------------------------------------------
11: * qdump -- dump the contents of the q structure for debugging
12: *------------------------------------------------------------------------
13: */
14: qdump()
15: {
16: qxdump(0);
17: }
18:
19: /*------------------------------------------------------------------------
20: * qdumph -- dump the contents of the q structure
21: *------------------------------------------------------------------------
22: */
23: qdumph()
24: {
25: qxdump(0);
26: }
27:
28: /*------------------------------------------------------------------------
29: * qdumpa -- dump the contents of the q structure printing all info
30: *------------------------------------------------------------------------
31: */
32: qdumpa()
33: {
34: qxdump(1);
35: }
36:
37: static qxdump(all)
38: int all;
39: {
40: struct qent *qp;
41: int i;
42: struct pentry *pptr;
43: int pr;
44:
45: for (i=0 ; i<NQENT ; i++) {
46: if ( (pr=all) == 0) {
47: qp = &q[i];
48: if (i < NPROC) {
49: pptr = &proctab[i];
50: if (pptr->pstate!=PRFREE)
51: pr = 1;
52: } else { /* normal queue - could be head or tail */
53: if ( (qp->qnext<NPROC && qp->qnext>=0)
54: ||(qp->qprev<NPROC && qp->qprev>=0) )
55: pr = 1;
56: else if (qp->qkey == MAXSHORT) {
57: if (qp->qnext != EMPTY
58: || isbadq(qp->qprev)
59: || q[qp->qprev].qkey != MINSHORT
60: || q[qp->qprev].qnext != i)
61: pr = 1;
62: } else if (qp->qkey == MINSHORT) {
63: if (qp->qprev != EMPTY
64: || isbadq(qp->qnext)
65: || q[qp->qnext].qkey != MAXSHORT
66: || q[qp->qnext].qprev != i)
67: pr = 1;
68: } else
69: pr = 1;
70: }
71: }
72: if (pr != 0)
73: kprintf("q[%4d ] key=%6d,next=%6d,qprev=%6d\n",
74: i, qp->qkey, qp->qnext, qp->qprev);
75: }
76: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.