Re: 6551 driver questions

From: Andre Fachat (a.fachat_at_gmx.de)
Date: 2003-08-24 21:51:29

On Sun, Aug 24, 2003 at 09:28:32PM +0200, Ullrich von Bassewitz wrote:
> 
> On Sun, Aug 24, 2003 at 04:33:20PM +0200, Andre Fachat wrote:
> > - or on the latency. Switching between tasks/threads in GeckOS
> > was simply taking too much time to use more than IIRC 9600.
> 
> So you did all interrupt handling in threads? Maybe adding an upper/bottom
> half interrupt handler would have been an idea. 

No threads. There already is bottom half that takes the bytes and puts them
into a so-called stream. There is no upper half, though: that's basically the
application reading from the stream.
The problem was I think the context switch time between program space (i.e.
a process with its own stack/memory) and kernel. For the context switch
you have to do some things (changing stack pointer, rearranging MMU in some
architectures etc) so you have to save the registers and restore them and all
that. Thinking about it now, I may have been able to make that IRQ save, but 
that was then...

Andre

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.