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