view TaskManager/kernel/ppe/TaskList.h @ 1602:e33e106ca3e0 draft

change default make parallel from fifo
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Sat, 06 Apr 2013 17:27:30 +0900
parents 90c0ad32655f
children 0d368b575bb5
line wrap: on
line source

#ifndef INCLUDED_TASKLIST
#define INCLUDED_TASKLIST

#include "base.h"
#include "Task.h"

class HTask;

#define TASK_MAX_SIZE 31

class TaskList { // 1024 byte 
public:
    BASE_NEW_DELETE(TaskList);

    long lastTask; // 4 byte
    TaskList *next; // 4 byte
    TaskList *prev; // 4 byte
    TaskList *waiter; // 4 byte
    HTask *self; // 4 byte
    int dim,x,y,z; // 16 byte
    Task tasks[TASK_MAX_SIZE]; // 32*TASK_MAX_SIZE
    

    TaskPtr last() { return (TaskPtr)(((memaddr)tasks)+lastTask); }
    void set_last(Task *t) { lastTask = ((memaddr)t) - ((memaddr)tasks); }
    void init() { lastTask = ((memaddr)&tasks[TASK_MAX_SIZE])-(memaddr)(tasks); waiter=this; dim=0;}
    void initOnce() { }
    void freeOnce() {}

} ;

typedef TaskList* TaskListPtr;

#endif