annotate TaskManager/Cell/CellHTaskInfo.cc @ 386:6113af8f183b

MemHash...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 06 Aug 2009 19:31:51 +0900
parents 5c194c71eca8
children 8602bb323369
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #include <stdio.h>
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #include <stdlib.h>
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3 #include "CellHTaskInfo.h"
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
4
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
5 int
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6 CellHTaskInfo::extend_pool(int num)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7 {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 HTaskPtr q = NULL;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 q = (HTaskPtr)malloc(sizeof(HTask)*(num+1));
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12 if (q == NULL) {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 return -1;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
14 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
15 q->next = htaskPool;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16 htaskPool = q;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
17
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
18 /* Connect all free queue in the pool */
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 for (q = htaskPool + 1; --num > 0; q++) {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
20 q->next = q + 1;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21 posix_memalign((void**)&q->inData, DEFAULT_ALIGNMENT, sizeof(ListData));
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
22 posix_memalign((void**)&q->outData, DEFAULT_ALIGNMENT, sizeof(ListData));
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
23 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24 q->next = freeHTask;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
25 posix_memalign((void**)&q->inData, DEFAULT_ALIGNMENT, sizeof(ListData));
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
26 posix_memalign((void**)&q->outData, DEFAULT_ALIGNMENT, sizeof(ListData));
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
27
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
28 freeHTask = htaskPool + 1;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
29
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
30 return 0;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
31 }