xref: /original-bsd/sys/sys/trace.h (revision 6c57d260)
1 /*	trace.h	4.7	81/04/18	*/
2 
3 /*
4  * File system buffer tracing points; all trace <dev, bn>
5  */
6 #define	TR_BREADHIT	0	/* buffer read found in cache */
7 #define	TR_BREADMISS	1	/* buffer read not in cache */
8 #define	TR_BWRITE	2	/* buffer written */
9 #define	TR_BREADHITRA	3	/* buffer read-ahead found in cache */
10 #define	TR_BREADMISSRA	4	/* buffer read-ahead not in cache */
11 #define	TR_XFODMISS	5	/* exe fod read */
12 #define	TR_XFODHIT	6	/* exe fod read */
13 #define	TR_BRELSE	7	/* brelse */
14 
15 /*
16  * Memory allocator trace points; all trace the amount of memory involved
17  */
18 #define	TR_MALL		10	/* memory allocated */
19 
20 /*
21  * Paging trace points: all are <vaddr, pid>
22  */
23 #define	TR_INTRANS	20	/* page intransit block */
24 #define	TR_EINTRANS	21	/* page intransit wait done */
25 #define	TR_FRECLAIM	22	/* reclaim from free list */
26 #define	TR_RECLAIM	23	/* reclaim from loop */
27 #define	TR_XSFREC	24	/* reclaim from free list instead of drum */
28 #define	TR_XIFREC	25	/* reclaim from free list instead of fsys */
29 #define	TR_WAITMEM	26	/* wait for memory in pagein */
30 #define	TR_EWAITMEM	27	/* end memory wait in pagein */
31 #define	TR_ZFOD		28	/* zfod page fault */
32 #define	TR_EXFOD	29	/* exec fod page fault */
33 #define	TR_VRFOD	30	/* vread fod page fault */
34 #define	TR_CACHEFOD	31	/* fod in file system cache */
35 #define	TR_SWAPIN	32	/* drum page fault */
36 #define	TR_PGINDONE	33	/* page in done */
37 
38 /*
39  * System call trace points.
40  */
41 #define	TR_VADVISE	40	/* vadvise occurred with <arg, pid> */
42 
43 /*
44  * Miscellaneous
45  */
46 #define	TR_STAMP	50	/* user said vtrace(VTR_STAMP, value); */
47 
48 /*
49  * This defines the size of the trace flags array.
50  */
51 #define	TR_NFLAGS	100	/* generous */
52 
53 #define	TRCSIZ		4096
54 
55 /*
56  * Specifications of the vtrace() system call, which takes one argument.
57  */
58 #define	VTRACE		64+51
59 
60 #define	VTR_DISABLE	0		/* set a trace flag to 0 */
61 #define	VTR_ENABLE	1		/* set a trace flag to 1 */
62 #define	VTR_VALUE	2		/* return value of a trace flag */
63 #define	VTR_UALARM	3		/* set alarm to go off (sig 16) */
64 					/* in specified number of hz */
65 #define	VTR_STAMP	4		/* user specified stamp */
66 #ifdef KERNEL
67 #ifdef TRACE
68 char	traceflags[TR_NFLAGS];
69 struct	proc *traceproc;
70 int	tracebuf[TRCSIZ];
71 unsigned tracex;
72 int	tracewhich;
73 #define	trace(a,b,c)	if (traceflags[a]) trace1(a,b,c)
74 #endif
75 #endif
76