trace.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. typedef enum Tevent {
  10. SAdmit = 0, /* Edf admit */
  11. SRelease, /* Edf release, waiting to be scheduled */
  12. SEdf, /* running under EDF */
  13. SRun, /* running best effort */
  14. SReady, /* runnable but not running */
  15. SSleep, /* blocked */
  16. SYield, /* blocked waiting for release */
  17. SSlice, /* slice exhausted */
  18. SDeadline, /* proc's deadline */
  19. SExpel, /* Edf expel */
  20. SDead, /* proc dies */
  21. SInts, /* Interrupt start */
  22. SInte, /* Interrupt end */
  23. SUser, /* user event */
  24. SLock, /* blocked on a queue or lock */
  25. Nevent,
  26. } Tevent;
  27. typedef struct Traceevent Traceevent;
  28. struct Traceevent {
  29. uint32_t pid;
  30. uint32_t etype; /* Event type */
  31. int64_t time; /* time stamp */
  32. uint32_t core; /* core number */
  33. };