STREAMS/UX for the HP 9000 Reference Manual
75
STREAMS/UX Multiprocessor Support
Running Modules and Drivers in Uniprocessor Emulation Mode
When a module is pushed onto a stream, STREAMS/UX checks if either the
module is configured for UP emulation or if the stream is running under UP
emulation. If either condition is true, the module and the entire stream run
under UP emulation. Also, when the module is popped, the stream does not
change back to its original mode.
When a driver is linked under a multiplexor, STREAMS/UX checks if both
streams run in the same mode. If they do not, STREAMS/UX changes the
MP scalable stream to run in UP emulation mode. When the driver is
unlinked, STREAMS/UX does not change a stream back to its original
mode.
STREAMS/UX does not support mixing MP scalable and UP emulation
modules in an upper mux because an upper mux is a clonable device.
STREAMS/UX does not detect that upper mux streams are related. In
particular, STREAMS/UX does not support pushing a UP emulation module
onto only one MP scalable upper mux stream. STREAMS/UX changes only
this one stream to run under UP emulation. It does not change the control
stream or the other upper mux streams. You should design your modules and
drivers so that only MP scalable modules are pushed onto MP scalable upper
muxes. Also, STREAMS/UX does not support linking a UP emulation
driver under an MP scalable upper mux. STREAMS/UX only changes the
control stream to run under UP emulation. It does not change the other
upper mux streams. You should link only MP scalable drivers under an MP
scalable upper mux.
Some examples of supported streams configurations which contain both MP
scalable and UP emulation modules and drivers are listed below.
• If an MP scalable driver is linked under a UP emulation mux, STREAMS/UX
changes the MP scalable driver to run in UP emulation mode. For example, DLPI
is MP scalable in 10.0. When it is linked under UP emulation SNA,
STREAMS/UX changes the drivers to run in UP emulation mode.
• When an MP scalable module is pushed onto a UP emulation stream,
STREAMS/UX runs the module under UP emulation. For example, timod is MP
scalable. When it is pushed onto a UP emulation OSI stream, it runs under UP
emulation.
• When a UP emulation module is pushed onto an MP scalable stream,
STREAMS/UX changes the entire stream to run under UP emulation. For
example, DLPI is MP scalable in Release 10.0. When UP emulation Portable
Netware modules are pushed onto DLPI, the entire stream runs in UP emulation