Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 521 → Rev 522

/shark/trunk/kernel/modules/intdrive.c
61,6 → 61,8
TIME next_time;
TIME capacity;
 
struct timespec act_time;
 
int avail;
 
int replenish_timer;
157,8 → 159,9
 
INTDRIVE_level_des *lev = (INTDRIVE_level_des *)(level_table[l]);
struct timespec time;
kern_gettime(&time);
 
kern_gettime(&(lev->act_time));
TIMESPEC_ASSIGN(&time,&(lev->act_time));
ADDUSEC2TIMESPEC(proc_table[INTDRIVE_task].wcet,&time);
lev->wcet_timer = kern_event_post(&time,INTDRIVE_wcet_timer,(void *)lev);
176,7 → 179,7
if (lev->wcet_timer != NIL)
kern_event_delete(lev->wcet_timer);
 
SUBTIMESPEC(&schedule_time, &cap_lasttime, &time);
SUBTIMESPEC(&schedule_time, &(lev->act_time), &time);
temp = TIMESPEC2USEC(&time);
lev->avail -= temp;
236,7 → 239,7
if (lev->wcet_timer != NIL)
kern_event_delete(lev->wcet_timer);
 
SUBTIMESPEC(&schedule_time, &cap_lasttime, &time);
SUBTIMESPEC(&schedule_time, &(lev->act_time), &time);
temp = TIMESPEC2USEC(&time);
lev->avail -= temp;
280,9 → 283,8
}
}
 
jet_update_endcycle(); /* Update the Jet data... */
return 0;
 
}
 
static void INTDRIVE_public_end(LEVEL l, PID p)
323,6 → 325,8
lev->l.public_block = INTDRIVE_public_block;
lev->l.public_message = INTDRIVE_public_message;
 
NULL_TIMESPEC(&(lev->act_time));
 
lev->capacity = capacity;
lev->replenish_period = replenish_period;
lev->next_time = replenish_period;
330,6 → 334,7
lev->wcet_timer = NIL;
lev->flags = flags;
lev->act_number = 0;
lev->avail = capacity;
mul32div32to32(MAX_BANDWIDTH,lev->capacity,lev->replenish_period,lev->U);
 
return l;