Mercurial > hg > Game > Cerium
view TaskManager/kernel/ppe/TaskList.h @ 2030:258498680128 draft
indent-region
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 25 Nov 2014 05:08:50 +0900 |
parents | 44fa0f1320a9 |
children |
line wrap: on
line source
#ifndef INCLUDED_TASKLIST #define INCLUDED_TASKLIST #include "base.h" #include "Task.h" class HTask; #define TASK_MAX_SIZE 29 class TaskList { // 1024 byte public: BASE_NEW_DELETE(TaskList); long lastTask; // 8 byte TaskList *next; // 8 byte TaskList *prev; // 8 byte TaskList *waiter; // 8 byte HTask *self; // 8 byte int dim; // 4 byte int cpu; // 4 byte size_t x,y,z; // 8*3 byte unsigned long long task_start_time,task_end_time; // 8*2 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() {} int ismultidim(int cpu_num); void print(); } ; typedef TaskList* TaskListPtr; #endif