# HG changeset patch # User tkaito@localhost.localdomain # Date 1244011567 -32400 # Node ID 6bb8725e60ae780ad9120ece381b884af99fcca8 # Parent ec52ff39e140601d012a3c44562d538cf6f2e2eb show dma wait diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/Cell/spe/CellDmaManager.cc --- a/TaskManager/Cell/spe/CellDmaManager.cc Wed Jun 03 14:50:21 2009 +0900 +++ b/TaskManager/Cell/spe/CellDmaManager.cc Wed Jun 03 15:46:07 2009 +0900 @@ -54,6 +54,16 @@ } void +CellDmaManager::show_dma_wait(int cpu) +{ + + printf("spu%d: global_wait_time = %lld\n",cpu, global_wait_time); + printf("spu%d: global_busy_time = %lld\n",cpu, global_busy_time); + printf("spu%d: busy_ratio = %g%%\n",cpu, + ((double)global_busy_time)/((double)(global_busy_time+global_wait_time))*100.0); +} + +void CellDmaManager::dma_wait(uint32 mask) { #ifdef SPU_PROFILE diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/Cell/spe/SchedExit.cc --- a/TaskManager/Cell/spe/SchedExit.cc Wed Jun 03 14:50:21 2009 +0900 +++ b/TaskManager/Cell/spe/SchedExit.cc Wed Jun 03 15:46:07 2009 +0900 @@ -7,6 +7,7 @@ { delete p; + m->show_dma_wait(); __debug("SchedExit::next()\n"); return NULL; diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/Cell/spe/SchedMail.cc --- a/TaskManager/Cell/spe/SchedMail.cc Wed Jun 03 14:50:21 2009 +0900 +++ b/TaskManager/Cell/spe/SchedMail.cc Wed Jun 03 15:46:07 2009 +0900 @@ -18,7 +18,7 @@ __debug("[SchedMail:%s]\n", __FUNCTION__); if ((int)params_addr == MY_SPE_COMMAND_EXIT) { - return new SchedExit(); + return new SchedExit(); } else { return new SchedTaskList(params_addr, m); } diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/Fifo/FifoDmaManager.o Binary file TaskManager/Fifo/FifoDmaManager.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/Fifo/FifoTaskManagerImpl.o Binary file TaskManager/Fifo/FifoTaskManagerImpl.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/Fifo/MainScheduler.o Binary file TaskManager/Fifo/MainScheduler.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/main.o Binary file TaskManager/kernel/main.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/BufferManager.o Binary file TaskManager/kernel/ppe/BufferManager.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/DmaBuffer.o Binary file TaskManager/kernel/ppe/DmaBuffer.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/HTask.o Binary file TaskManager/kernel/ppe/HTask.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/HTaskInfo.o Binary file TaskManager/kernel/ppe/HTaskInfo.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/MailManager.o Binary file TaskManager/kernel/ppe/MailManager.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/SymTable.o Binary file TaskManager/kernel/ppe/SymTable.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/Task.o Binary file TaskManager/kernel/ppe/Task.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/TaskList.o Binary file TaskManager/kernel/ppe/TaskList.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/TaskListInfo.o Binary file TaskManager/kernel/ppe/TaskListInfo.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/TaskManager.o Binary file TaskManager/kernel/ppe/TaskManager.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/TaskManagerImpl.o Binary file TaskManager/kernel/ppe/TaskManagerImpl.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/TaskQueue.o Binary file TaskManager/kernel/ppe/TaskQueue.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/ppe/TaskQueueInfo.o Binary file TaskManager/kernel/ppe/TaskQueueInfo.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/SchedExit.o Binary file TaskManager/kernel/schedule/SchedExit.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/SchedMail.o Binary file TaskManager/kernel/schedule/SchedMail.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/SchedNop.o Binary file TaskManager/kernel/schedule/SchedNop.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/SchedNop2Ready.o Binary file TaskManager/kernel/schedule/SchedNop2Ready.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/SchedTask.o Binary file TaskManager/kernel/schedule/SchedTask.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/SchedTaskList.o Binary file TaskManager/kernel/schedule/SchedTaskList.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/Scheduler.o Binary file TaskManager/kernel/schedule/Scheduler.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/schedule/TaskGroup.o Binary file TaskManager/kernel/schedule/TaskGroup.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/sys_task/Finish.o Binary file TaskManager/kernel/sys_task/Finish.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/sys_task/Start.o Binary file TaskManager/kernel/sys_task/Start.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae TaskManager/kernel/sys_task/systask_register.o Binary file TaskManager/kernel/sys_task/systask_register.o has changed diff -r ec52ff39e140 -r 6bb8725e60ae include/TaskManager/CellDmaManager.h --- a/include/TaskManager/CellDmaManager.h Wed Jun 03 14:50:21 2009 +0900 +++ b/include/TaskManager/CellDmaManager.h Wed Jun 03 15:46:07 2009 +0900 @@ -32,6 +32,7 @@ void dma_wait(uint32 mask) ; void start_dmawait_profile(); void end_dmawait_profile(); + void show_dma_wait(int cpu); void mail_write(uint32 data); uint32 mail_read(void); diff -r ec52ff39e140 -r 6bb8725e60ae include/TaskManager/DmaManager.h --- a/include/TaskManager/DmaManager.h Wed Jun 03 14:50:21 2009 +0900 +++ b/include/TaskManager/DmaManager.h Wed Jun 03 15:46:07 2009 +0900 @@ -31,6 +31,7 @@ virtual void dma_load(void *buf, uint32 addr, uint32 size, uint32 mask) {} virtual void dma_store(void *buf,uint32 addr, uint32 size, uint32 mask) {} virtual void dma_wait(uint32 mask) {} + virtual void show_dma_wait(int cpu) {} // API for SPU inbound/outbound mailbox virtual void mail_write(uint32 data) {} diff -r ec52ff39e140 -r 6bb8725e60ae include/TaskManager/SchedExit.h --- a/include/TaskManager/SchedExit.h Wed Jun 03 14:50:21 2009 +0900 +++ b/include/TaskManager/SchedExit.h Wed Jun 03 15:46:07 2009 +0900 @@ -16,7 +16,7 @@ class SchedExit : public SchedTaskBase { public: BASE_NEW_DELETE(SchedExit); - + SchedTaskBase* next(Scheduler *, SchedTaskBase *); }; diff -r ec52ff39e140 -r 6bb8725e60ae include/TaskManager/Scheduler.h --- a/include/TaskManager/Scheduler.h Wed Jun 03 14:50:21 2009 +0900 +++ b/include/TaskManager/Scheduler.h Wed Jun 03 15:46:07 2009 +0900 @@ -159,6 +159,7 @@ void dma_load(void *buf, uint32 addr, uint32 size, uint32 mask); void dma_store(void *buf,uint32 addr, uint32 size, uint32 mask); void dma_wait(uint32 mask); + void show_dma_wait() { connector->show_dma_wait(id); }; void mail_write(uint32 data); uint32 mail_read(void); void dma_loadList(ListDataPtr list, void *, uint32 mask);