add _procwakeupandunlock

to help ease locking contention
on Linux 2.4.
This commit is contained in:
rsc 2005-01-06 23:43:42 +00:00
parent 815552b9ed
commit a0a331aad9
5 changed files with 44 additions and 12 deletions

View file

@ -166,11 +166,13 @@ _threadready(_Thread *t)
p = t->proc;
lock(&p->lock);
p->runrend.l = &p->lock;
addthread(&p->runqueue, t);
//print("%d wake for job %d->%d\n", time(0), getpid(), p->osprocid);
if(p != proc())
_procwakeup(&p->runrend);
unlock(&p->lock);
_procwakeupandunlock(&p->runrend);
else
unlock(&p->lock);
}
int