xref: /plan9-contrib/sys/include/trace.h (revision 1e3353989c51c995ed7921b44b2c8d96fb6a387b)
1e288d156SDavid du Colombier typedef enum Tevent {
2179dd269SDavid du Colombier 	SAdmit = 0,	/* Edf admit */
3e288d156SDavid du Colombier 	SRelease,	/* Edf release, waiting to be scheduled */
4e288d156SDavid du Colombier 	SEdf,		/* running under EDF */
5e288d156SDavid du Colombier 	SRun,		/* running best effort */
6e288d156SDavid du Colombier 	SReady,		/* runnable but not running  */
7e288d156SDavid du Colombier 	SSleep,		/* blocked */
8e288d156SDavid du Colombier 	SYield,		/* blocked waiting for release */
9e288d156SDavid du Colombier 	SSlice,		/* slice exhausted */
10e288d156SDavid du Colombier 	SDeadline,	/* proc's deadline */
11e288d156SDavid du Colombier 	SExpel,		/* Edf expel */
12e288d156SDavid du Colombier 	SDead,		/* proc dies */
13179dd269SDavid du Colombier 	SInts,		/* Interrupt start */
14179dd269SDavid du Colombier 	SInte,		/* Interrupt end */
15e288d156SDavid du Colombier 	SUser,		/* user event */
16*1e335398SDavid du Colombier 	SLock,		/* blocked on a queue or lock */
17220e960cSDavid du Colombier 	Nevent,
18e288d156SDavid du Colombier } Tevent;
19e288d156SDavid du Colombier 
20e288d156SDavid du Colombier typedef struct Traceevent	Traceevent;
21e288d156SDavid du Colombier struct Traceevent {
22*1e335398SDavid du Colombier 	u32int	pid;
23*1e335398SDavid du Colombier 	u32int	etype;	/* Event type */
24*1e335398SDavid du Colombier 	u64int	time;	/* time stamp  */
25*1e335398SDavid du Colombier 	u32int	core;	/* core number */
26e288d156SDavid du Colombier };
27