view TaskManager/Cell/spe/SchedMail.cc @ 271:f872cc000fe0

merge
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 04 Jun 2009 00:06:37 +0900
parents e19d2c9e85b0 6bb8725e60ae
children 3e9c0039e15c
line wrap: on
line source

#include "SchedMail.h"
#include "SchedTaskList.h"
#include "SchedExit.h"
#include "error.h"

SchedMail::SchedMail(Scheduler *sched)
{
    scheduler = sched;
}

SchedTaskBase*
SchedMail::next(Scheduler *m, SchedTaskBase *p)
{
    delete p;
    
    // dma wait
    scheduler->start_dmawait_profile();
    params_addr = scheduler->mail_read();
    scheduler->end_dmawait_profile();

    __debug("[SchedMail:%s]\n", __FUNCTION__);

<<<<<<< local
    if ((int)params_addr == MY_SPE_COMMAND_EXIT) {        
        // ppu 側から spu の実行状況表示用 Task を投げる
        // counter は global
	return new SchedExit(m);
=======
    if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
        return new SchedExit();
>>>>>>> other
    } else {
	return new SchedTaskList(params_addr, m);
    }
}