CMA threads usage?

Nick Dokos nick at osf.org
Fri Jan 11 09:37:58 AEST 1991


My understanding is that the architecture does not specify the
degree of parallelism but strongly encourages the thread-synchronous
model (only the thread executing the blocking call is blocked).

Quoting from the CMA document (Ch. 6: Operating System Support for CMA
Services, p.71):
" A reentrant service is thread-serial if, when it must block, it blocks
the current thread and all other threads that might attempt to call the
same service until the first call returns.

A reentrant service is said to be thread-synchronous if, when it must block,
it blocks only the current thread, and other threads can execute the same
operation during the blockage.

For many services, providing thread-serial reentrancy is adequate, but
implementations should try hard to provide thread-synchronous I/O
services (any service with a long latency is best made thread synchronous).
This is more work than merely making services serially reentrant, but it is
urgently needed by I/O intensive applications."

In other words, blame the implementation :-) BTW, what implementation
are you using and on what version of Unix?

Same is true of the scheduling policy: the architecture provides for
the most rudimentary scheduling controls and leaves the detailed 
properties of scheduling to the implementation (p.8 of the CMA doc).

-- 
Nick Dokos		(nick at osf.org)
Systems Engineering	OSF



More information about the Comp.unix.ultrix mailing list