~kris/9p

9hist

5568fd92c4aa56d28699031538af2fe491cd1f2a — David du Colombier 23 years ago 8ca9214
Plan 9 from Bell Labs 2002-10-01
1 files changed, 11 insertions(+), 7 deletions(-)

M port/edf.c
M port/edf.c => port/edf.c +11 -7
@@ 64,12 64,13 @@ static Task *qschedulability;

void (*devrt)(Task*, Ticks, int);

static void		edfresched(Task *t);
static void		edfresched(Task*);
static void		setdelta(void);
static void		testdelta(Task *thetask);
static void		edfreleaseintr(Ureg *, Timer *cy);
static void		testdelta(Task*);
static void		edfreleaseintr(Ureg*, Timer*);
static void		edfdeadlineintr(Ureg*, Timer*);
static char *	edftestschedulability(Task *thetask);
static char *	edftestschedulability(Task*);
static void		resrelease(Task*);

static void
edfinit(void)


@@ 449,7 450,7 @@ edfreleaseintr(Ureg*, Timer*)
}

static void
edfdeadlineintr(Ureg*, Timer*)
edfdeadlineintr(Ureg*, Timer *timer)
{
	/* Task reached deadline */



@@ 462,8 463,8 @@ edfdeadlineintr(Ureg*, Timer*)

	DPRINT("%d edfdeadlineintr\n", m->machno);

	timerdel(&deadlinetimer[m->machno]);
	deadlinetimer[m->machno].when = 0;
	if (timer)
		timer->when = 0;

	if(panicking || active.exiting)
		return;


@@ 486,6 487,7 @@ edfdeadlineintr(Ureg*, Timer*)
			if (t->curcsn){
				if (t->curcsn->S <= used){
					t->curcsn->S = 0LL;
					resrelease(t);
					r = t->curcsn->i;
					noted++;
					snprint(buf, sizeof buf, "sys: deadline miss: resource %s", r->name);


@@ 1083,6 1085,7 @@ resacquire(Task *t, CSN *c)
	}
	t->Delta = c->Delta;
	t->curcsn = c;
	if(devrt) devrt(t, now, SResacq);
	/* priority is going up, no need to reschedule */
}



@@ 1113,6 1116,7 @@ resrelease(Task *t)
	}else
		t->Delta = Infinity;
	c->S = 0LL;	/* don't allow reuse */
	if(devrt) devrt(t, now, SResrel);
	if (deadlinetimer[m->machno].when)
		timerdel(&deadlinetimer[m->machno]);
	deadlinetimer[m->machno].when = when;