Mercurial > hg > Members > kono > Cerium
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 // 依存関係を満たしたタスクをアクティブに |