Any way around spl's?

Ted Nolan ted at usceast.UUCP
Fri Apr 5 08:31:33 AEST 1985


Here in the department, we have a cosmos (Unisoft near v7 68000 port)
which we use for acquiring and displaying images.  There is no hardware
floating point, so the images are most often processed on our vax.  
The cosmos and vax are linked over a terminal line, and we do file transfers
by uucp.

The problem is that we can't run the line any faster than 2400 baud with out
getting overrun errors on the cosmos end.  As image files are LARGE, transfer
takes too much time that the users could be using for something useful.

My first thought was that serial interrupts had to go through too much code
to finish before the next one came in, so I changed the receive interrupt 
routine to just shove incoming characters in a circular queue and return,
but that didn't help much.  I then noticed that if I did a shell loop of
ls -l's on the uucp TM file, the overrun errors most often came just before
its size increased.  I have now concluded that the spl6's in the disk and
block io code are locking out serial interrupts (which are level 2).

The question is how to fix this.  Has anyone come up with a better critical
section lockout mechanism than spl's (that could be fairly easily inserted)?
Or does anyone have another fix for serial line lockout (software preferred,
but assume that we can make minor hardware changes on interrupt levels etc)?

				Any suggestions welcomed,
				Ted Nolan	..usceast!ted
-- 
-------------------------------------------------------------------------------
Ted Nolan                   ...decvax!mcnc!ncsu!ncrcae!usceast!ted  (UUCP)
6536 Brookside Circle       ...akgua!usceast!ted
Columbia, SC 29206          allegra!usceast!ted at seismo (ARPA, maybe)

      ("Deep space is my dwelling place, the stars my destination")
-------------------------------------------------------------------------------



More information about the Comp.unix.wizards mailing list