> good point.  two reasons
> 1.  if up != p, what do you sleep on?  or do you mess
> with the innards of sched?  seems dangerous

given that you can echo stop >ctl and then echo start >ctl
from outside the kernel, i don't see why you can't do
something similar from inside the kernel.

> in looking at this again, runproc doesn't test
> for p->wired when "cooperativly scheduling".
>
>        /* cooperative scheduling until the clock ticks */
>        if((p=m->readied) && p->mach==0 && p->state==Ready
>        && runq[Nrq-1].head == nil && runq[Nrq-2].head == nil){
>
> ready() also appears not to check wired.

sure but those are bugs anyway and easy to fix.

russ

Reply via email to