~kris/9p

9hist

ref: d61471a38e31bc1bfcacf62059a52bbdf5ae5fec 9hist/port/devrealtime.h -rw-r--r-- 824 bytes
d61471a3 — David du Colombier Plan 9 from Bell Labs 2002-03-16 24 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#define Onemicrosecond			((Time)1000ULL)
#define Onemillisecond			((Time)1000*Onemicrosecond)
#define Onesecond				((Time)1000*Onemillisecond)

typedef vlong	Time;
typedef struct Schedevent Schedevent;

enum SEvent {
	SAdmit,		/* new proc arrives*/
	SRelease,		/* released, but not yet scheduled (on qreleased) */
	SRun,		/* one of this task's procs started running */
	SPreempt,		/* the running proc was preempted */
	SBlock,		/* none of the procs are runnable as a result of sleeping */
	SResume,		/* one or more procs became runnable */
	SDeadline,	/* proc's deadline */
	SYield,		/* proc reached voluntary early deadline */
	SSlice,		/* slice exhausted */
	SExpel,		/* proc is gone */
};
typedef enum SEvent	SEvent;

struct Schedevent {
	ulong	tid;		// Task ID
	Time		ts;		// Event time
	SEvent	etype;	// Event type
};