annotate TaskManager/Cell/CellTaskListInfo.cc @ 808:8a6f1fa038de

TaskListInfo version
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 22 May 2010 22:32:41 +0900
parents 8843edf37c0e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
57
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
1 #include <stdio.h>
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
2 #include <stdlib.h>
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
3 #include "CellTaskListInfo.h"
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
4
60
f50c74835a9b *** empty log message ***
gongo
parents: 57
diff changeset
5 #define NEXT_ADDR(addr, size) \
629
8843edf37c0e Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
6 (TaskListPtr)((memaddr)(addr) + (size))
60
f50c74835a9b *** empty log message ***
gongo
parents: 57
diff changeset
7
57
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
8 int
808
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
9 TaskListInfo::extend_pool(int num)
57
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
10 {
808
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
11 TaskListPtr q;
57
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
12 int unit_size;
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
13
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 60
diff changeset
14 unit_size = (ROUND_UP_ALIGN(sizeof(TaskList), DEFAULT_ALIGNMENT));
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 60
diff changeset
15 posix_memalign((void**)&q, DEFAULT_ALIGNMENT, unit_size*(num+1));
57
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
16
808
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
17 // First Queue is previous pool
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
18 q->waiter = waiter; waiter = q;
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
19 q++;
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
20
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
21 /* Connect all free queue in the pool */
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
22 TaskListPtr p = q;
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
23 for (; num-- > 0; p++) {
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
24 p->waiter = NULL;
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
25 taskListPool.addLast(p);
57
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
26 }
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
27
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
28 return 0;
1f8a23cdeec3 *** empty log message ***
gongo
parents:
diff changeset
29 }
808
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
30
8a6f1fa038de TaskListInfo version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 629
diff changeset
31 /* end */