20,11 → 20,11 |
|
/** |
------------ |
CVS : $Id: edf.c,v 1.12 2004-02-10 17:50:04 giacomo Exp $ |
CVS : $Id: edf.c,v 1.13 2004-03-10 14:51:43 giacomo Exp $ |
|
File: $File$ |
Revision: $Revision: 1.12 $ |
Last update: $Date: 2004-02-10 17:50:04 $ |
Revision: $Revision: 1.13 $ |
Last update: $Date: 2004-03-10 14:51:43 $ |
------------ |
|
This file contains the scheduling module EDF (Earliest Deadline First) |
123,7 → 123,7 |
|
case EDF_IDLE: |
/* tracer stuff */ |
TRACER_LOGEVENT(FTrace_EVT_task_timer,3,proc_table[p].context,proc_table[p].task_level); |
TRACER_LOGEVENT(FTrace_EVT_task_timer,(unsigned short int)proc_table[p].context,(unsigned int)proc_table[p].task_level); |
/* similar to EDF_task_activate */ |
temp = iq_query_timespec(p,&lev->ready); |
ADDUSEC2TIMESPEC(lev->period[p], temp); |
146,7 → 146,7 |
|
default: |
/* else, a deadline miss occurred!!! */ |
TRACER_LOGEVENT(FTrace_EVT_task_deadline_miss,1,proc_table[p].context,0); |
TRACER_LOGEVENT(FTrace_EVT_task_deadline_miss,(unsigned short int)proc_table[p].context,0); |
kern_raise(XDEADLINE_MISS,p); |
} |
} |
158,7 → 158,7 |
#ifdef EDF_DEBUG |
edf_printf("(EDF:AAARRRGGGHHH!!!)"); |
#endif |
TRACER_LOGEVENT(FTrace_EVT_task_deadline_miss,1,proc_table[p].context,0); |
TRACER_LOGEVENT(FTrace_EVT_task_deadline_miss,(unsigned short int)proc_table[p].context,0); |
kern_raise(XDEADLINE_MISS,p); |
} |
|
270,7 → 270,7 |
/* check if the wcet is finished... */ |
if ((lev->flags & EDF_ENABLE_WCET_CHECK) && proc_table[p].avail_time <= 0) { |
/* if it is, raise a XWCET_VIOLATION exception */ |
TRACER_LOGEVENT(FTrace_EVT_task_wcet_violation,1,proc_table[p].context,0); |
TRACER_LOGEVENT(FTrace_EVT_task_wcet_violation,(unsigned short int)proc_table[p].context,0); |
kern_raise(XWCET_VIOLATION,p); |
proc_table[p].status = EDF_WCET_VIOLATED; |
} |
375,7 → 375,7 |
proc_table[p].avail_time = proc_table[p].wcet; |
|
jet_update_endcycle(); /* Update the Jet data... */ |
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,3,proc_table[p].context,l); |
TRACER_LOGEVENT(FTrace_EVT_task_end_cycle,(unsigned short int)proc_table[p].context,(unsigned int)l); |
|
break; |
|
394,7 → 394,7 |
if (proc_table[p].status == EDF_IDLE) |
proc_table[p].status = EDF_WAIT; |
|
TRACER_LOGEVENT(FTrace_EVT_task_disable,3,proc_table[p].context,l); |
TRACER_LOGEVENT(FTrace_EVT_task_disable,(unsigned short int)proc_table[p].context,(unsigned int)l); |
|
break; |
|