| plan 9 kernel history: overview | file list | diff list |
2002/0831/port/edf.h (diff list | history)
| 2002/0830/sys/src/9/port/edf.h:18,23 – 2002/0831/sys/src/9/port/edf.h:18,25 (short | long | prev | next) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Add List] and Head, use to replace static arrays.
rsc Fri Mar 4 12:44:25 2005
2002/0704
| | typedef struct Resource Resource; typedef struct Edf Edf; typedef struct Taskq Taskq;
2002/0831
| | typedef struct List List; typedef struct Head Head;
2002/0315
| | enum Edfstate { EdfUnused, /* task structure not in use */
2002/0830/sys/src/9/port/edf.h:35,40 –
2002/0831/sys/src/9/port/edf.h:37,52
|
2002/0315
| | }; typedef enum Edfstate Edfstate;
2002/0831
| | struct List { List * next; /* next in list */ void * i; /* item in list */ }; struct Head { List *next; /* First item in list */ int n; /* number of items in list */ };
2002/0315
| | struct Edf { /* time intervals */ Ticks D; /* Deadline */
2002/0830/sys/src/9/port/edf.h:63,75 –
2002/0831/sys/src/9/port/edf.h:75,87
|
2002/0315
| | struct Task { QLock;
2002/0831
| | Ref; /* ref count for farbage collection */ int taskno; /* task number in Qid */
2002/0315
| | Edf; Ticks scheduled; Schedq runq; /* Queue of runnable member procs */
2002/0831
| | Head procs; /* List of member procs */ Head res; /* List of resources */
2002/0315
| | char *user; /* mallocated */ Dirtab dir; int flags; /* e.g., Verbose */
2002/0830/sys/src/9/port/edf.h:85,102 –
2002/0831/sys/src/9/port/edf.h:97,119
|
2002/0315
| | struct Resource {
2002/0831
| | Ref;
2002/0315
| | char * name;
2002/0831
| | Head tasks;
2002/0320
| | Ticks Delta;
2002/0315
| | /* for schedulability testing */
2002/0320
| | Ticks testDelta;
2002/0315
| | };
2002/0831
| | struct ResourceItem { List; /* links and identifies the resource (must be first) */ Ticks C; /* cost */ Head h; /* sub resource items */ }; extern QLock edfschedlock; extern Head tasks; extern Head resources;
2002/0315
| | extern int nresources; extern Lock edflock; extern Taskq qwaitrelease;
2002/0830/sys/src/9/port/edf.h:112,114 –
2002/0831/sys/src/9/port/edf.h:129,134
|
2002/0315
| | Time ticks2time(Ticks); Ticks time2ticks(Time);
2002/0831
| | int putlist(Head*, List*); int enlist(Head*, void*); int delist(Head*, void*); | |||||||||||||||||||||||||||||||||