Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 381 → Rev 382

/shark/trunk/ports/first/modules/grubstar.c
38,6 → 38,7
 
#include "ll/i386/64bit.h"
#include "grubstar.h"
#include <tracer.h>
 
//#define GRUBSTAR_DEBUG
 
106,7 → 107,10
 
b->avail += b->Q;
if (b->avail > b->Q) b->avail = b->Q;
/* Tracer */
TRACER_LOGEVENT(FTrace_EVT_server_replenish,1,(int)(b),0);
if (b->flags==GRUBSTAR_RECLAIMING && b->avail>0)
lev->Uf += b->Ub;
 
162,6 → 166,7
if (b->current == NIL && iq_query_first(&(b->tasks)) == NIL && b->flags != GRUBSTAR_RECLAIMING) {
event_need_reschedule();
TRACER_LOGEVENT(FTrace_EVT_server_reclaiming,1,(int)(b),0);
b->flags = GRUBSTAR_RECLAIMING;
lev->Uf -= b->Ub;
}
190,6 → 195,8
kern_printf("(GS:Act %d)",p);
#endif
 
TRACER_LOGEVENT(FTrace_EVT_server_active,1,(int)(b),0);
 
if (b->vtimer!=NIL) kern_event_delete(b->vtimer);
b->vtimer=NIL;
249,7 → 256,10
kern_printf("(GS:Cap p%d av=%d tx=%d rec=%d)", p, b->avail,(int)tx,b->last_reclaiming);
#endif
 
if (b->avail <= 0) b->flags = GRUBSTAR_NOACTIVE;
if (b->avail <= 0) {
TRACER_LOGEVENT(FTrace_EVT_server_exhaust,1,(int)(b),0);
b->flags = GRUBSTAR_NOACTIVE;
}
 
if (TIMESPEC_A_LT_B(&b->dline, &schedule_time)) {
/* we modify the deadline ... */
304,6 → 314,9
 
/* and the capacity */
b->avail = b->Q;
/* Tracer */
TRACER_LOGEVENT(FTrace_EVT_server_replenish,1,(int)(b),0);
 
if (b->flags == GRUBSTAR_RECLAIMING) {
lev->Uf += b->Ub;
513,6 → 526,7
b->vtimer=NIL;
}
 
TRACER_LOGEVENT(FTrace_EVT_server_reclaiming,1,(int)(b),0);
b->flags = GRUBSTAR_RECLAIMING;
lev->Uf -= b->Ub;
 
618,7 → 632,9
lev->b[r].flags = GRUBSTAR_ACTIVE;
lev->b[r].loc_sched_id = scheduler_id;
lev->b[r].loc_sched_level = local_scheduler_level;
lev->b[r].last_reclaiming = 0;
lev->b[r].last_reclaiming = 0;
 
TRACER_LOGEVENT(FTrace_EVT_server_create,3,(int)(&(lev->b[r])),r);
return r;
}
651,6 → 667,8
lev->b[budget].flags = GRUBSTAR_ACTIVE;
lev->b[budget].last_reclaiming = 0;
 
TRACER_LOGEVENT(FTrace_EVT_server_remove,3,(int)(&(lev->b[budget])),budget);
 
return 0;
 
}