sdp_zcopy_thresh

This tunable sets the threshold value to make use of RDMA

 

READ (also called as Zcopy). If the size of the buffer used for

 

send/recv operation is greater than the value of

 

sdp_zcopy_thresh, the send/recv operation uses ZCopy.

Using RDMA for large buffers

For smaller buffers, the overhead of preparing a user buffer to be sent using RDMA is big. Therefore, it is more efficient to use BCopy. RDMA is used to send large buffers because they lower CPU utilization. This mode is called ZCopy mode. The sendmsg syscall is blocked until the buffer is transferred to the socket's peer, and the data is copied directly from the user buffer at the source side to the user buffer at the sink side. Currently, non-blocking mode of socket calls with Zcopy is not supported.

To set the threshold, use the module parameter sdp_zcopy_thresh. This parameter can be accessed through kctune. If the module parameter sdp_zcopy_thresh is set to 0, the ZCopy mode is disabled.

Limitations of SDP

The major limitations of the current SDP version are as follows:

Does not support Out of Band data.

Does not support non-blocking socket calls.

Does not support setsockopt or getsockopt call with SO_LINGER option.

Is not supported in HPVM, SG, and SRP environments.

Does not support X/Open networking interface.

Does not support pstat APIs.

Is not supported with ARIES.

Does not support IPv6 addresses.

8Using SDP