plan 9 kernel history: overview | file list | diff list

2002/1001/port/edf.c (diff list | history)

2002/0927/sys/src/9/port/edf.c:64,752002/1001/sys/src/9/port/edf.c:64,76 (short | long | prev | next)
2002/0927    
 
2002/0316    
void (*devrt)(Task*, Ticks, int); 
2002/0315    
 
2002/0410    
static void		edfresched(Task *t); 
2002/1001    
static void		edfresched(Task*); 
2002/0320    
static void		setdelta(void); 
static void		testdelta(Task *thetask); 
2002/0405    
static void		edfreleaseintr(Ureg *, Timer *cy); 
2002/1001    
static void		testdelta(Task*); 
static void		edfreleaseintr(Ureg*, Timer*); 
2002/0405    
static void		edfdeadlineintr(Ureg*, Timer*); 
2002/0410    
static char *	edftestschedulability(Task *thetask); 
2002/1001    
static char *	edftestschedulability(Task*); 
static void		resrelease(Task*); 
2002/0315    
 
2002/0704    
static void 
2002/0410    
edfinit(void) 
2002/0927/sys/src/9/port/edf.c:449,4552002/1001/sys/src/9/port/edf.c:450,456
2002/0327    
} 
 
static void 
2002/0405    
edfdeadlineintr(Ureg*, Timer*) 
2002/1001    
edfdeadlineintr(Ureg*, Timer *timer) 
2002/0327    
{ 
2002/0328    
	/* Task reached deadline */ 
 
2002/0927/sys/src/9/port/edf.c:462,4692002/1001/sys/src/9/port/edf.c:463,470
2002/0315    
 
2002/0327    
	DPRINT("%d edfdeadlineintr\n", m->machno); 
 
2002/0410    
	timerdel(&deadlinetimer[m->machno]); 
	deadlinetimer[m->machno].when = 0; 
2002/1001    
	if (timer) 
		timer->when = 0; 
2002/0328    
 
2002/0927    
	if(panicking || active.exiting) 
2002/0327    
		return; 
2002/0927/sys/src/9/port/edf.c:486,4912002/1001/sys/src/9/port/edf.c:487,493
2002/0927    
			if (t->curcsn){ 
				if (t->curcsn->S <= used){ 
					t->curcsn->S = 0LL; 
2002/1001    
					resrelease(t); 
2002/0927    
					r = t->curcsn->i; 
					noted++; 
					snprint(buf, sizeof buf, "sys: deadline miss: resource %s", r->name); 
2002/0927/sys/src/9/port/edf.c:1083,10882002/1001/sys/src/9/port/edf.c:1085,1091
2002/0927    
	} 
	t->Delta = c->Delta; 
	t->curcsn = c; 
2002/1001    
	if(devrt) devrt(t, now, SResacq); 
2002/0927    
	/* priority is going up, no need to reschedule */ 
2002/0315    
} 
 
2002/0927/sys/src/9/port/edf.c:1113,11182002/1001/sys/src/9/port/edf.c:1116,1122
2002/0927    
	}else 
		t->Delta = Infinity; 
	c->S = 0LL;	/* don't allow reuse */ 
2002/1001    
	if(devrt) devrt(t, now, SResrel); 
2002/0927    
	if (deadlinetimer[m->machno].when) 
		timerdel(&deadlinetimer[m->machno]); 
	deadlinetimer[m->machno].when = when; 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)