User Manual

Counter Name Description
num_failed_resolutions Number of failed page faults that could not be resolved due to non-
existing mappings in the OS.
num_mrs_not_found Number of faults that specified a non-existing ODP MR.
num_odp_mr_pages Total size in pages of current ODP MRs.
num_odp_mrs Number of current ODP MRs.
Rev 2.3-1.0.1
Mellanox Technologies
159
3.2.7.7 Inline-Receive
When Inline-Receive is active, the HCA may write received data in to the receive WQE or CQE.
Using Inline-Receive saves PCIe read transaction since the HCA does not need to read the
scatter list, therefore it improves performance in case of short receive-messages.
On poll CQ, the driver copies the received data from WQE/CQE to the user's buffers. Therefore,
apart from querying Inline-Receive capability and Inline-Receive activation the feature is trans-
parent to user application.
When Inline-Receive is active, user application must provide a valid virtual address for
the receive buffers to allow the driver moving the inline-received message to these buf-
fers. The validity of these addresses is not checked therefore the result of providing non-
valid virtual addresses is unexpected.
Connect-IBĀ® supports Inline-Receive on both the requestor and the responder sides. Since data
is copied at the poll CQ verb, Inline-Receive on the requestor side is possible only if the user
chooses IB(V)_SIGNAL_ALL_WR.
3.2.7.7.1 Querying Inline-Receive Capability
User application can use the ibv_exp_query_device function to get the maximum possible
Inline-Receive size. To get the size, the application needs to set the
IBV_EXP_DEVICE_ATTR_INLINE_RECV_SZ bit in the ibv_exp_device_attr comp_mask.
3.2.7.7.2 Activating Inline-Receive
To activate the Inline-Receive, you need to set the required message size in the max_inl_recv
field in the ibv_exp_qp_init_attr struct when calling ibv_exp_create_qp function. The
value returned by the same field is the actual Inline-Receive size applied.
Setting the message size may affect the WQE/CQE size.
3.2.7.7.3 Query Capabilities
Memory Windows are available if and only the hardware supports it. To verify whether Memory
Windows are available, run
ibv_exp_query_device.