comparison TaskManager/Cell/CellTaskManagerImpl.cc @ 619:0decff4e867b

RenewTask removal
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 15 Nov 2009 02:02:30 +0900
parents 1d4a8a86f26b
children 55ed910d13c2
comparison
equal deleted inserted replaced
618:360032cc500e 619:0decff4e867b
51 } 51 }
52 // PPE 側の管理をする Manager 52 // PPE 側の管理をする Manager
53 ppeManager = new FifoTaskManagerImpl(machineNum); 53 ppeManager = new FifoTaskManagerImpl(machineNum);
54 // 大半のTaskQueueInfoは、共有される 54 // 大半のTaskQueueInfoは、共有される
55 ppeManager->init(new PpeScheduler, this); 55 ppeManager->init(new PpeScheduler, this);
56
57 ppeManager->get_scheduler()->set_manager(this);
58 schedTaskManager = new SchedTask();
59 schedTaskManager->init(0,0,0,ppeManager->get_scheduler());
56 } 60 }
57 61
58 void 62 void
59 CellTaskManagerImpl::append_activeTask(HTaskPtr task) 63 CellTaskManagerImpl::append_activeTask(HTaskPtr task)
60 { 64 {
218 speThreads->add_output_tasklist(command, alloc_info[1], alloc_size); 222 speThreads->add_output_tasklist(command, alloc_info[1], alloc_size);
219 223
220 speThreads->send_mail(id, 2, alloc_info); 224 speThreads->send_mail(id, 2, alloc_info);
221 } else if (data > MY_SPE_NOP) { 225 } else if (data > MY_SPE_NOP) {
222 //__debug_ppe("[PPE] recv from [SPE %d] : 0x%x\n", id, data); 226 //__debug_ppe("[PPE] recv from [SPE %d] : 0x%x\n", id, data);
223 check_task_finish((HTaskPtr)data); 227 HTaskPtr task = (HTaskPtr)data;
228 task->post_func(schedTaskManager, task->post_arg1, task->post_arg2);
229 check_task_finish(task);
224 } 230 }
225 } 231 }
226 } 232 }
227 233
228 // 依存関係を満たしたタスクをアクティブに 234 // 依存関係を満たしたタスクをアクティブに