Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 981 → Rev 982

/shark/trunk/ports/first/modules/edfstar.c
138,7 → 138,7
 
static void EDFSTAR_check_preemption(EDFSTAR_level_des *lev)
{
PID first;
PID first=NIL;
 
#ifdef EDFSTAR_DEBUG
edfstar_printf("(E:chk)");
205,9 → 205,9
break;
 
default:
#ifdef EDFSTAR_DEBUG
// #ifdef EDFSTAR_DEBUG
kern_printf("(E:Dl:%d)",p);
#endif
// #endif
/* else, a deadline miss occurred!!! */
lev->dline_miss[p]++;
TRACER_LOGEVENT(FTrace_EVT_task_deadline_miss,proc_table[p].context,proc_table[p].task_level);
317,6 → 317,7
/* Enable wcet check */
proc_table[p].avail_time = h->wcet;
proc_table[p].wcet = h->wcet;
proc_table[p].status = SLEEP;
 
return 0; /* OK, also if the task cannot be guaranteed... */
}
327,6 → 328,7
struct timespec ty;
TIME tx;
 
 
SUBTIMESPEC(&schedule_time, &lev->cap_lasttime, &ty);
tx = TIMESPEC2USEC(&ty);
 
412,7 → 414,7
level_table[ lev->scheduling_level ]->
private_epilogue(lev->scheduling_level,p);
 
proc_table[exec].status = EDFSTAR_READY;
proc_table[exec].status = EDFSTAR_READY;
} else
level_table[proc_table[exec].task_level]->public_epilogue(proc_table[exec].task_level,p);
 
435,6 → 437,8
if (lev->flag[p] & EDFSTAR_FLAG_SPORADIC) {
if (proc_table[p].status != EDFSTAR_IDLE) {
lev->nact[p]++;
//kern_printf("(Inc nact %d)",p);
//kern_printf("(%d STATUS %d %ds %dns)", p, proc_table[p].status, o->tv_sec, o->tv_nsec/1000);
return;
}
} else {
522,8 → 526,8
if (lev->nact[p] > 0) {
#ifdef EDFSTAR_DEBUG
edfstar_printf2("E%d",p);
#endif
kern_printf("E%d",p);
#endif
/* Pending activation: reactivate the thread!!! */
lev->nact[p]--;
640,7 → 644,10
#endif
 
iq_extract(p,&lev->ready);
level_table[ lev->scheduling_level ]->
private_extract(lev->scheduling_level, p);
 
 
/* we finally put the task in the ready queue */
proc_table[p].status = FREE;