Buffer Management; Understanding Target-Mode Data Pacing - IBM Advanced SerialRAID Adapters SA33-3285-02 User Manual

Advanced serialraid adapters
Table of Contents

Advertisement

When configuration is complete, special files exist in the /dev directory. These files
allow you to use the target mode interface with each node that is defined in the
configuration database. Configuration does not need communication to be actually
possible between the relevant using systems. Communication is needed only for the
write operation.

Buffer Management

You can set the buffer sizes that are used by each device:
v To set the transmit buffer sizes, use the chdev command to adjust the XmitBuffers
and XmitBufferSize attributes in the configuration database.
v To set the receive buffer size, use the chdev command to adjust the RecvBuffers
and RecvBufferSize attributes in the configuration database.
The buffer sizes must be multiples of 128 bytes. The maximum buffer size is 512 bytes.
A device can have as many buffers as it needs.
Data can be written into the buffers for the initiator-mode device at any time, whether or
not nonblocking write operations are also transferring data from these buffers. The
buffers for the target-mode device can be read at any time, even if a write operation to
those buffers is occurring at the same time. It is not important if the sizes of the
initiator-mode device buffers are different from the sizes of the target-mode device
buffers to which the data is being sent. The total buffer space for the target-mode
device, however, must be equal to, or greater than, the size of the initiator-mode device
buffer size.
The SSA interface for target-mode transfers has been tuned for 512-byte transfers.
Each write operation can send as much data as is required, unless that write operation
is nonblocking. In a nonblocking write operation, the data that is being written must be
completely transferred to the device buffers. Therefore, the maximum amount of data
that can be written during a nonblocking write operation is determined by the size of the
device buffers.

Understanding Target-Mode Data Pacing

An initiator-mode device can send data faster than the associated target-mode device
application can read it. This condition occurs when:
v The previous write operation is complete, but all the device buffers are in use, and
no space is available for the next write operation.
v The write operation is not yet completed, and the device has no available buffers.
In both these instances, the target-mode device driver stops the write operation
temporarily, and uses the retry mechanism to try again later. These actions can cause
the write operation to fail. As a result, the initiator-mode device is unable to send any
data to the target-mode device for the whole of the retry period. Alternatively, the write
operation might time out.
Think about these possibilities when you set the buffer sizes and the number of buffers
for the devices. Determine carefully the retry period, total write time-out period, and the
Chapter 13. Using the Programming Interface
293

Advertisement

Table of Contents
loading

Table of Contents