Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!telxon!johnk From: johnk@telxon.UUCP (John E. Kabat Jr.) Newsgroups: comp.unix.xenix.sco Subject: Give up time slice Keywords: xenix yeild Message-ID: <548@telxon.UUCP> Date: 1 Oct 90 19:13:37 GMT Organization: TELXON Corporation, Akron OH Lines: 37 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@telxon.uucp.uu.net Telxon Corporation <|> Akron, Ohio, 44313 <|> (216) 867-3700 (3554)<|>