Mercurial > hg > Members > kono > Cerium
diff TaskManager/kernel/schedule/SchedTask.cc @ 800:2708c4a7bade
run16 word count ( not yet worked. )
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 21 May 2010 07:47:25 +0900 |
parents | 83cbe70ba25d |
children | daab9cd6f91f |
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTask.cc Wed May 19 19:49:49 2010 +0900 +++ b/TaskManager/kernel/schedule/SchedTask.cc Fri May 21 07:47:25 2010 +0900 @@ -50,7 +50,8 @@ scheduler = sc; cur_index = index; - scheduler->mainMem_wait(); // これはなんで? + // scheduler->mainMem_wait(); // これはなんで? + manager = sc->manager; } @@ -67,7 +68,7 @@ // 読むデータが一つもなければ無視 if (task->r_size == 0) return; // load Input Data - readbuf = scheduler->allocate(task->r_size); + readbuf = manager->allocate(task->r_size); scheduler->dma_load(readbuf, task->rbuf,task->r_size, DMA_READ); @@ -80,7 +81,7 @@ __debug("[SchedTask:%s]\n", __FUNCTION__); if (task->w_size > 0) { - writebuf = scheduler->allocate(task->w_size); + writebuf = manager->allocate(task->w_size); } scheduler->dma_wait(DMA_READ); task_list[task->command].wait(scheduler,task->command); @@ -251,39 +252,44 @@ HTaskPtr SchedTask::create_task(int cmd) { - return scheduler->create_task(cmd); + return manager->create_task(cmd); } HTaskPtr SchedTask::create_task(int cmd, memaddr r, long rs, memaddr w, long ws) { - return scheduler->create_task(cmd,r,rs,w,ws); + return manager->create_task(cmd,r,rs,w,ws); +} + +HTaskPtr +SchedTask::create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData) { + return manager->create_task_array(id, num_task, num_param, num_inData, num_outData) ; } void SchedTask::set_task_depend(HTaskPtr master, HTaskPtr slave) { - scheduler->set_task_depend(master, slave); + manager->set_task_depend(master, slave); } void SchedTask::spawn_task(HTaskPtr t) { - scheduler->spawn_task(t); + manager->spawn_task(t); } void SchedTask::set_task_cpu(HTaskPtr t, CPU_TYPE cpu) { - scheduler->set_task_cpu(t, cpu); + manager->set_task_cpu(t, cpu); } void* SchedTask::allocate(int size) { - return scheduler->allocate(size) ; + return manager->allocate(size) ; } void* SchedTask::allocate(int size,int align) { - return scheduler->allocate(size,align) ; + return manager->allocate(size,align) ; } Scheduler* SchedTask::get_scheduler()