On Fri, Sep 05, 2003 at 09:18:52PM +0200, Thierry Godefroy wrote:

> > Is it even possible that the number of SUSJB/RELJB/PRIOR calls per frame 
> > interrupt is limited?
> 
> Well, I guess the problem is that all three calls are exiting via the
> scheduler (they are not atomic traps). My guess is that calling them in
> rapid succession (more than once every 1/50th of second) makes the job
> to reenter recursively the scheduler and to fill up the supervisor stack...

I don't see how this could happen. The calls will exit through
scheduler which will cleanup supervisior stack before returning
to usermode. The problem could only arise when you call either
of this traps from supervisormode which is a very bad idea anyway.


> Plus, I'm a bit surprised that you are apparently using jobs to fetch the
> data from the ethernet card... It should be done via an interrupt handler
> instead... Actually, the best design would be to have the Q60 fast interrupt
> handler to fill a buffer, and a frame interrupt task to move the data from
> that buffer into a bigger one for your job to fetch it in big chunks...).

this was discussed a while ago here, the big problem is that
neither QDOS nor SMSQ will attempt to reschedule after interrupt
handling and there is no way to deal with the complexities of the
TCP/IP protocol inside the interupt handler.
That means sending of protocol replies would be very often delayed
by 1/50s which would make especially TCP crawl..

Richard

Reply via email to