Give up time slice

John E. Kabat Jr. johnk at telxon.UUCP
Tue Oct 2 05:13:37 AEST 1990


I have a problem I need help with.  We have a multi module 
system in which the programs communicate via ipc queues.  At 
each end of the chain there is a program that communicated to 
the outside world.  Due to the fact that the program must 
constantly check if there is data in the ipc queue or from the 
io device I do both calls with NOWAIT (no blocking).  As a 
result the utilization for these two programs is very high.  
(XENIX does not APPEAR to give away the time slice if we are not 
blocking).  To reduce utilization the code was modified to do a 
nap(100) (nap 100 ms).  This results in undesireable latency in 
servicing requests.

Sample code (pseudo code)

  while (1)
  {
        check I/o with no wait
        check IPC queue with no wait
        if (no input)
                nap(100)
   }
  
Is there any system call that will just give up the time slice 
for this process??

Does xenix (386 2.3.2) really not give up the time slice on a 
non-blocking system call??

Is the processor load really large enuf to impact the system if 
I don't nap or give up the time slice.  


-- 
John E. Kabat Jr.    <|> ...!uunet!telxon!johnk <|> johnk at telxon.uucp.uu.net
Telxon Corporation   <|> 
Akron, Ohio, 44313   <|> 
(216) 867-3700 (3554)<|> 



More information about the Comp.unix.xenix.sco mailing list