diff TaskManager/Cell/spe/CellDmaManager.h @ 672:3b6290c05f9f

add profiling code
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 05 Dec 2009 20:20:08 +0900
parents 8843edf37c0e
children 45ddb28c592d
line wrap: on
line diff
--- a/TaskManager/Cell/spe/CellDmaManager.h	Sat Dec 05 17:26:58 2009 +0900
+++ b/TaskManager/Cell/spe/CellDmaManager.h	Sat Dec 05 20:20:08 2009 +0900
@@ -18,6 +18,9 @@
 	uint32 size;
     } DmaList, *DmaListPtr;
 
+
+    CellDmaManager() ;
+
     /* variables */
     unsigned int wait_time, busy_time;
     unsigned long long global_busy_time, global_wait_time;
@@ -26,14 +29,28 @@
     void dma_load(void *buf, memaddr addr, uint32 size, uint32 mask);
     void dma_store(void *buf, memaddr addr, uint32 size, uint32 mask);
     void dma_wait(uint32 mask) ;
-    void start_dmawait_profile();
-    void end_dmawait_profile();
+    void (CellDmaManager::*start_dmawait_profile)();
+    void (CellDmaManager::*end_dmawait_profile)();
+    void start_profile();
+    void stop_profile();
+
+
     void show_dma_wait(int cpu);
 
     void mail_write(memaddr data);
     memaddr mail_read();
     void dma_loadList(ListDataPtr list, void *buff, uint32 mask);
     void dma_storeList(ListDataPtr, void *buff, uint32 mask);
+
+    private:
+
+    void do_start_dmawait_profile();
+    void do_end_dmawait_profile();
+    void null_start_dmawait_profile();
+    void null_end_dmawait_profile();
+
+
+/* end */
 };
 
 #endif