Port-vax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Scheduler broken on VAX?



Michael L. Hitch wrote:
> On Tue, 24 Feb 2009, Anders Magnusson wrote:
> 
>>> Excellent with such a short program to reproduce the problem.
>>> Now someone just needs to spend some time figuring out what the
>>> problem is.
>> Rescheduling on vax isn't difficult.  If the machine finds out at a
>> timer interrupt that
>> the current process should be preempted, it sets the cpu-specific flag
>> ci_want_resched
>> and posts an AST.  When the AST is received (in user space) a trap
>> will occur that
>> calls userret(), checks for ci_want_resched and calls preempt().
>>
>> The code looks sane to me.
> 
>   I don't know what code you are looking at, but the code I am looking at
> doesn't look sane.  There is no preempt() call anymore [it was removed
> from userret() back in October].  I'm now talking with matt about what
> needs to be done to fix this.
> 
Hm, I looked at a little to old code obviously :-/  Hm, then it seems
that ASTs have no effect on vax now, so it's obvious that scheduling do
not work as expected.  There is actually a comment in sys/userret.h that
vax doesn't use that (new) code, but obviously the vax code is changed anyway.

Matt should have good knowledge of how all this works together, so it's
probably a quick fix for him.

-- Ragge


Home | Main Index | Thread Index | Old Index