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