changeset 720:dac59b74e02a

Cell fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 19 Dec 2009 10:43:19 +0900
parents cafffff0f45a
children 2b167196cb27
files TaskManager/Cell/CellTaskManagerImpl.cc TaskManager/Cell/CellTaskManagerImpl.h TaskManager/Fifo/FifoTaskManagerImpl.h
diffstat 3 files changed, 7 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/TaskManager/Cell/CellTaskManagerImpl.cc	Sat Dec 19 10:34:43 2009 +0900
+++ b/TaskManager/Cell/CellTaskManagerImpl.cc	Sat Dec 19 10:43:19 2009 +0900
@@ -11,7 +11,7 @@
 #include "types.h"
 #include "SysFunc.h"
 
-static void send_alloc_reply(SpeThreads *speThreads);
+static void send_alloc_reply(CellTaskManagerImpl *tm, int id,  SpeThreads *speThreads);
 
 CellTaskManagerImpl::~CellTaskManagerImpl()
 {
@@ -162,10 +162,10 @@
         // PPE side
 	ppeTaskList =  ppeManager->get_runTaskList();
 	ppeManager->schedule(ppeTaskList);
-	ppeManager->mail_check(waitTaskQueue);
+	ppeManager->mail_check();
         // SPE side
 	do {
-	    mail_check(waitTaskQueue);
+	    mail_check();
 	    // SPE に送る TaskList の準備
 	    set_runTaskList();
 	    // TaskList 待ちの SPE に TaskList を送る
@@ -197,7 +197,7 @@
 		spe_running--;
 	    } else if (data == (memaddr)MY_SPE_COMMAND_MALLOC) {
 	        // MY_SPE_COMMAND_MALLOC   SPE からのmain memory request
-		send_alloc_reply(speThreads);
+		send_alloc_reply(this, id, speThreads);
 	    } else if (data > (memaddr)MY_SPE_NOP) {
 	        // 終了したタスク(PPEにあるのでアドレス)
 		HTaskPtr task = (HTaskPtr)data;
@@ -210,7 +210,7 @@
 }
 
 static void
-send_alloc_reply(SpeThreads *speThreads)
+send_alloc_reply(CellTaskManagerImpl *tm, int id, SpeThreads *speThreads)
 {
 
     /**
@@ -226,7 +226,7 @@
     alloc_size = (long)alloc_info[1];
 
     
-    alloc_info[1] = (memaddr)allocate(alloc_size);
+    alloc_info[1] = (memaddr)tm->allocate(alloc_size);
     //__debug_ppe("[PPE] MALLOCED 0x%lx from [SPE %d]\n", alloc_info[1],id);
     // 今のところ何もしてない。どうも、この allocate を free 
     // するのは、SPE task が返した値を見て行うらしい。それは、
--- a/TaskManager/Cell/CellTaskManagerImpl.h	Sat Dec 19 10:34:43 2009 +0900
+++ b/TaskManager/Cell/CellTaskManagerImpl.h	Sat Dec 19 10:43:19 2009 +0900
@@ -24,7 +24,7 @@
     // system
     void init();
     void run();
-    TaskListPtr mail_check(HTaskInfo *);
+    void mail_check();
     void set_runTaskList();
     void append_activeTask(HTaskPtr);
     void show_profile() ;
--- a/TaskManager/Fifo/FifoTaskManagerImpl.h	Sat Dec 19 10:34:43 2009 +0900
+++ b/TaskManager/Fifo/FifoTaskManagerImpl.h	Sat Dec 19 10:43:19 2009 +0900
@@ -28,7 +28,6 @@
 
 
     void mail_check();
-    void mail_check(HTaskInfo *waitQueue);
 
     TaskListPtr get_runTaskList(void);
     void schedule(TaskListPtr);