NonStop S-Series Server Description Manual (G06.24+)

Interprocessor Communication
HP NonStop S-Series Server Description Manual520331-003
9-14
Request With Medium Request Data
Request With Medium Request Data
When the combination of request control and data is too big to fit in the pre-push
buffers but small enough to fit in a readlink cache buffer (Figure 9-7), the message
system eliminates use of the pre-push buffers (shown in Figure 9-6 on page 9-13).
Instead, the message system causes the listener process to reverse roles and to pull
the data to itself, using ServerNet response packets to transfer data from a linker’s
buffer to the listener’s readlink cache. (In the two preceding topics, data was sent in
ServerNet request packets—that is, pushed.)
In the first part of this phase (upper part of Figure 9-7), only the setup information is
sent from the linker to the listener. This is done as a single-packet message. For this
message, the message system creates a TIB (1), and ServerNet services translates
the TIB to BTE descriptors (2). ServerNet services transfers control to the BTE (3),
which transmits the request setup packet (4) to the AVT hardware in the listener
processor. There, the setup is linked into the interrupt queue (5).
When the interrupt is processed, the message system reads the setup information,
stores it in an MQC in the readlink cache (6), and recognizes that this request contains
request data of medium length. It consequently recognizes that it has to pull the
request data.
In the next part of this phase (middle part of Figure 9-7), the listener’s message system
creates a TIB (7) in preparation for the pull. ServerNet services then translates the TIB
to BTE descriptors (8) and transfers control to the BTE (9). The BTE in the listener
then proceeds to issue read request packets to the AVT in the linker processor (10),
which in corresponding response packets, transmits the original request control
information, followed by the request data (11). The response packets go back to the
listener BTE (12) for temporary storage in the readlink cache (13).
In the third part of this phase (lower part of Figure 9-7), the listener process calls the
message system with MSG_READCONTROL_ and MSG_READDATA_ to copy the
control information and data in the MQC in the readlink cache to corresponding buffers
(14 and 15).