Subversion Repositories shark

Compare Revisions

Regard whitespace Rev 959 → Rev 960

/shark/trunk/ports/first/modules/nonestar.c
133,15 → 133,15
/* Change task level */
if (lev->flag & NONESTAR_CHANGE_LEVEL) {
STD_command_message msg;
proc_table[p].status = SLEEP;
 
if (lev->current!=NIL && lev->status!=NONESTAR_IDLE)
if (lev->current!=NIL && lev->status!=NONESTAR_IDLE) {
level_table[ lev->scheduling_level ]->
private_extract(lev->scheduling_level, p);
 
}
lev->current = NIL;
lev->budget = -1;
proc_table[p].task_level = lev->new_level[p];
lev->flag=0;
/* Send change level command to local scheduler */
 
168,7 → 168,6
#ifdef NONESTAR_DEBUG
kern_printf("(NN:Epi:%d)",p);
#endif
 
if (NONESTAR_change_level(l, p)) return;
 
level_table[ lev->scheduling_level ] ->
194,13 → 193,16
{
NONESTAR_level_des *lev = (NONESTAR_level_des *)(level_table[l]);
BUDGET_TASK_MODEL b;
 
TIME Q;
budget_task_default_model(b, lev->budget);
#ifdef NONESTAR_DEBUG
kern_printf("(NN:Act:%d:%d)",p,lev->budget);
#endif
 
GRUBSTAR_getbudgetinfo(lev->scheduling_level, &Q, NULL, NULL, lev->budget);
lev->server_Q=Q;
proc_table[p].avail_time = lev->server_Q;
proc_table[p].wcet = lev->server_Q;
lev->status = NONESTAR_READY;
 
level_table[ lev->scheduling_level ]->
214,12 → 216,12
BUDGET_TASK_MODEL b;
 
#ifdef NONESTAR_DEBUG
kern_printf("(NS:pu)");
kern_printf("(NS:pu %d)",p);
#endif
lev->current=p;
 
budget_task_default_model(b, lev->budget);
 
lev->status=NONESTAR_READY;
level_table[ lev->scheduling_level ]->
private_insert(lev->scheduling_level, p, (TASK_MODEL *)&b);
 
230,9 → 232,9
NONESTAR_level_des *lev = (NONESTAR_level_des *)(level_table[l]);
 
#ifdef NONESTAR_DEBUG
kern_printf("(NN:pb)");
kern_printf("(NN:pb %d)", p);
#endif
 
lev->status=NONESTAR_IDLE;
/* the task is blocked on a synchronization primitive. we have to
remove it from the master module -and- from the local queue! */
lev->current=NIL;
282,7 → 284,6
case STD_SET_NEW_MODEL:
/* if the NONESTAR_task_create is called, then the pclass must be a
valid pclass. */
h=(DUMMY_TASK_MODEL *)(msg->param);
/* now we know that m is a valid model */
lev->flag = 0;
290,7 → 291,6
lev->status = NONESTAR_IDLE;
 
break;
case STD_SET_NEW_LEVEL:
297,7 → 297,6
lev->flag |= NONESTAR_CHANGE_LEVEL;
lev->new_level[p] = (int)(msg->param);
break;
case STD_ACTIVATE_TASK:
305,7 → 304,6
/* Enable wcet check */
proc_table[p].avail_time = lev->server_Q;
proc_table[p].wcet = lev->server_Q;
//kern_printf("(NN:ActEcy:%d:%d)", p, lev->server_Q);
proc_table[p].control = (proc_table[p].control & ~CONTROL_CAP);
NONESTAR_public_activate(l, p, NULL);
407,6 → 405,11
 
}
 
int NONESTAR_get_current(LEVEL l) {
NONESTAR_level_des *lev = (NONESTAR_level_des *)(level_table[l]);
return lev->current;
}
 
int NONESTAR_get_remain_capacity(int budget)
{
return SERVER_get_remain_capacity(fsf_get_server_level(),budget);