view TaskManager/kernel/ppe/TaskList.h @ 1463:f7e497c8e8a3 draft

TaskList on going...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Jul 2012 20:44:23 +0900
parents 8cf62aea798f
children 3f2230d79eba
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);

    TaskList *lastTask; // 4 byte
    TaskList *next; // 4 byte
    TaskList *prev; // 4 byte
    TaskList *waiter; // 4 byte
    HTask *self; // 4 byte
    long dummy[3]; // 16 byte
    Task tasks[TASK_MAX_SIZE]; // 32*TASK_MAX_SIZE

    TaskPtr last() { return &tasks; }
    void init() { lastTask = &tasks[TASK_MAX_SIZE]; waiter=this; }
    void initOnce() { }
    void freeOnce() {}

} ;

typedef TaskList* TaskListPtr;

#endif