annotate TaskManager/kernel/ppe/TaskInfo.h @ 3:2356238ebea7

*** empty log message ***
author gongo
date Tue, 05 Feb 2008 20:22:50 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
1 #ifndef INCLUDED_TASK_INFO
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
2 #define INCLUDED_TASK_INFO
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
4 #ifndef INCLUDED_TASK
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
5 # include "task.h"
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
6 #endif
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
7
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
8 class TaskInfo {
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
9 public:
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
10 /* constructor */
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
11 TaskInfo(int num = 1);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
12 virtual ~TaskInfo(void) {}
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
13
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
14 /* variables */
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
15 TaskListPtr taskListPool;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
16 TaskListPtr freeTaskList;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
17
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
18 TaskQueuePtr taskQueuePool;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
19 TaskQueuePtr freeTaskQueue;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
20 TaskQueuePtr waitTaskQueue;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
21 TaskQueuePtr activeTaskQueue;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
22
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
23 /* function */
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
24 virtual void init(void) = 0;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
25
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
26 // task list
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
27 int init_pool_taskList(int num);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
28 virtual int extend_pool_taskList(int num) = 0;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
29 virtual TaskListPtr get_available_taskList(void) = 0;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
30 TaskListPtr get_free_taskList(void);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
31
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
32 // task queue
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
33 int init_pool_taskQueue(int num);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
34 TaskQueuePtr get_free_taskQueue(HTaskPtr);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
35 int extend_pool_taskQueue(int num);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
36
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
37 // task
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
38 int init_pool_task(int num);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
39 HTaskPtr get_free_task(int cmd, int size,
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
40 unsigned long long in_addr,
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
41 unsigned long long out_addr);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
42
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
43 virtual void clear_taskList(void) = 0;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
44
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
45 void append_activeTask(HTaskPtr);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
46 void append_waitTask(HTaskPtr);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
47
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
48 void free_taskList(TaskListPtr q);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
49 void free_taskQueue(TaskQueuePtr q);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
50 void free_task(HTaskPtr q);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
51
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
52 void check_task_finish(HTaskPtr task);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
53 void notify_wait_taskQueue(HTaskPtr depend, TaskQueuePtr list);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
54 TaskQueuePtr remove_taskQueue(TaskQueuePtr list, TaskQueuePtr task);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
55 TaskQueuePtr remove_taskQueue_eq_task(TaskQueuePtr list, HTaskPtr task);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
56
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
57 private:
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
58 int machineNum;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
59 };
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
60
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
61 extern TaskQueuePtr append_taskQueue(TaskQueuePtr, TaskQueuePtr);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
62 extern TaskListPtr append_taskList(TaskListPtr list, TaskListPtr q);
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
63
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
64 #endif