annotate TaskManager/Cell/spe/SchedMail.cc @ 271:f872cc000fe0

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 04 Jun 2009 00:06:37 +0900
parents e19d2c9e85b0 6bb8725e60ae
children 3e9c0039e15c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
94
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
1 #include "SchedMail.h"
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
2 #include "SchedTaskList.h"
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
3 #include "SchedExit.h"
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
4 #include "error.h"
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
5
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
6 SchedMail::SchedMail(Scheduler *sched)
94
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
7 {
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
8 scheduler = sched;
94
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
9 }
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
10
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
11 SchedTaskBase*
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
12 SchedMail::next(Scheduler *m, SchedTaskBase *p)
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
13 {
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
14 delete p;
233
gongo@localhost.localdomain
parents: 109
diff changeset
15
249
e19d2c9e85b0 no move
e065746@localhost.localdomain
parents: 233
diff changeset
16 // dma wait
e19d2c9e85b0 no move
e065746@localhost.localdomain
parents: 233
diff changeset
17 scheduler->start_dmawait_profile();
233
gongo@localhost.localdomain
parents: 109
diff changeset
18 params_addr = scheduler->mail_read();
249
e19d2c9e85b0 no move
e065746@localhost.localdomain
parents: 233
diff changeset
19 scheduler->end_dmawait_profile();
94
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
20
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
21 __debug("[SchedMail:%s]\n", __FUNCTION__);
233
gongo@localhost.localdomain
parents: 109
diff changeset
22
271
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 249 255
diff changeset
23 <<<<<<< local
249
e19d2c9e85b0 no move
e065746@localhost.localdomain
parents: 233
diff changeset
24 if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
e19d2c9e85b0 no move
e065746@localhost.localdomain
parents: 233
diff changeset
25 // ppu 側から spu の実行状況表示用 Task を投げる
e19d2c9e85b0 no move
e065746@localhost.localdomain
parents: 233
diff changeset
26 // counter は global
e19d2c9e85b0 no move
e065746@localhost.localdomain
parents: 233
diff changeset
27 return new SchedExit(m);
271
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 249 255
diff changeset
28 =======
94
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
29 if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
255
6bb8725e60ae show dma wait
tkaito@localhost.localdomain
parents: 233
diff changeset
30 return new SchedExit();
271
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 249 255
diff changeset
31 >>>>>>> other
94
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
32 } else {
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
33 return new SchedTaskList(params_addr, m);
94
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
34 }
588ab5f0e659 *** empty log message ***
gongo
parents:
diff changeset
35 }