Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 808 → Rev 809

/shark/trunk/ports/first/modules/pistar.c
20,11 → 20,11
 
/**
------------
CVS : $Id: pistar.c,v 1.3 2004-09-03 12:37:48 trimarchi Exp $
CVS : $Id: pistar.c,v 1.4 2004-09-06 06:31:45 trimarchi Exp $
 
File: $File$
Revision: $Revision: 1.3 $
Last update: $Date: 2004-09-03 12:37:48 $
Revision: $Revision: 1.4 $
Last update: $Date: 2004-09-06 06:31:45 $
------------
 
Priority Inhertitance protocol. see pi.h for more details...
174,7 → 174,8
PISTAR_mutex_t *p;
SYS_FLAGS f;
// return 0;
int cond=0;
int cond;
cond = 1;
fsf_server_id_t server;
 
f = kern_fsave();
209,7 → 210,7
kern_cli();
}
fsf_get_server(&server, exec_shadow);
if (fsf_get_remain_budget(server)>wcet) cond=1;
if (fsf_get_remain_budget(server)>wcet) cond=0;
else {
SERVER_disable_server(fsf_get_server_level(),server);
scheduler();
/shark/trunk/ports/first/modules/grubstar.c
816,7 → 816,19
void GRUBSTAR_disable_server(LEVEL l, int budget)
{
GRUBSTAR_level_des *lev = (GRUBSTAR_level_des *)(level_table[l]);
int avail_budget;
int spare;
 
/* force a hard reservation event */
avail_budget=lev->b[lev->tb[exec_shadow]].avail;
lev->b[lev->tb[exec_shadow]].avail=0;
 
level_table[proc_table[exec_shadow].task_level]->public_epilogue(proc_table[exec_shadow].task_level, exec_shadow);
 
/* save the unused capacity */
spare=avail_budget+lev->b[lev->tb[exec_shadow]].avail;
if (spare<=0) spare=0;
/* Force the server in the NOACTIVE state */
lev->b[lev->tb[exec_shadow]].flags=GRUBSTAR_NOACTIVE;