Mercurial > hg > Game > Cerium
comparison TaskManager/Cell/CellTaskManagerImpl.cc @ 640:ecf056ddd21a draft
SimpeTask on Cell worked.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 20 Nov 2009 23:12:34 +0900 |
parents | 250c7353ddaf |
children | 7ba4ad4538b1 |
comparison
equal
deleted
inserted
replaced
639:91d03774c407 | 640:ecf056ddd21a |
---|---|
170 * PPE 側で動く Scheduler からのメールリスト | 170 * PPE 側で動く Scheduler からのメールリスト |
171 * この中で PPE 側の mail check も行う | 171 * この中で PPE 側の mail check も行う |
172 * | 172 * |
173 * @return PPE Scheduler に対してのメール。 | 173 * @return PPE Scheduler に対してのメール。 |
174 * 次に実行する TaskList のアドレスや、終了コマンドを送る | 174 * 次に実行する TaskList のアドレスや、終了コマンドを送る |
175 */TaskListPtr | 175 */ |
176 | |
177 TaskListPtr | |
176 CellTaskManagerImpl::mail_check(MailQueuePtr mail_list) | 178 CellTaskManagerImpl::mail_check(MailQueuePtr mail_list) |
177 { | 179 { |
178 // PPE Scheduler からの mail check | 180 // PPE Scheduler からの mail check |
179 ppeManager->mail_check(mail_list, waitTaskQueue); | 181 ppeManager->mail_check(mail_list, waitTaskQueue); |
180 | 182 |
282 | 284 |
283 speThreads->send_mail(id, 1, (memaddr *)&speTaskList[id]); | 285 speThreads->send_mail(id, 1, (memaddr *)&speTaskList[id]); |
284 flag_sendTaskList[id] = 0; | 286 flag_sendTaskList[id] = 0; |
285 } | 287 } |
286 | 288 |
287 #if 0 | |
288 void* | |
289 CellTaskManagerImpl::allocate(int size, int alignment) | |
290 { | |
291 if (size==0) return 0; | |
292 void *buff; | |
293 posix_memalign(&buff, alignment, size); | |
294 return buff; | |
295 } | |
296 | |
297 void* | |
298 CellTaskManagerImpl::allocate(int size) | |
299 { | |
300 if (size==0) return 0; | |
301 void *buff; | |
302 | |
303 posix_memalign(&buff, DEFAULT_ALIGNMENT, size); | |
304 | |
305 // bzero はコストが高いのでやりたくない | |
306 // bzero(buff, size); | |
307 | |
308 return buff; | |
309 } | |
310 | |
311 Scheduler* | |
312 CellTaskManagerImpl::get_scheduler() | |
313 { | |
314 return ppeManager->get_scheduler(); | |
315 } | |
316 #endif | |
317 | 289 |
318 #ifdef __CERIUM_CELL__ | 290 #ifdef __CERIUM_CELL__ |
319 TaskManagerImpl* | 291 TaskManagerImpl* |
320 create_impl(int num) | 292 create_impl(int num) |
321 { | 293 { |