Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 501 → Rev 502

/shark/trunk/kernel/modules/edf.c
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;