Vendor-specific attributes for uDAPL
Learn about the vendor-specific attributes that are supported
by the AIX operating
system. The delayed_ack_supported
, vendor_extension
, vendor_ext_version
, debug_query
,
and debug_modify
attributes are supported.
The AIX operating system is a transport
provider for the InfiniBand (IB) framework, which includes a vendor-specific interface adapter (IA)
and the delayed_ack_supported
attribute. The value of the
delayed_ack_supported
attribute is either true or
false. When the value is true, the endpoints that are
associated with the IA have a modifiable provider-specific delayed_ack
attribute.
When the delayed_ack_supported
attribute is false, the endpoints
of the provider-specificdelayed_ack
attribute cannot be changed. The default value
of an endpoint of the provider-specific delayed_ack
attribute is
false. The delayed_ack
attribute is set to
true by using the dat_ep_modify
option that enables the
delayed acknowledge feature of the underlying InfiniBand (IB) host channel adapter (HCA) for the
specific InfiniBand queue pair that is associated with the endpoint. This hardware feature is not
implemented by all HCAs, thus it is not available for all IAs. When this feature is enabled, the
acknowledgement sent by HCA is delayed until a data transfer operation is detected in the system
memory of a server. This process causes a latency increase.
For debugging errors, the uDAPL libraries support AIX system trace. The initial trace level can be
changed by using the DAT_TRACE_LEVEL
and DAPL_TRACE_LEVEL
environment variables. To change these trace levels dynamically by using an API, use the dynamic
trace level support on AIX. To verify
whether the library has dynamic trace level support, applications can query for the vendor-specific
IA vendor_extension
attribute. The presence of the
vendor_extension
attribute indicates the dynamic trace level that is supported.
When the vendor_extension
attribute is present, applications can access the
dat_trclvl_query()
and dat_trclvl_modify()
function pointers by
querying for thedebug_query
and debug_modify
vendor-specific IA
attributes. The value of these attributes points to the corresponding functions. To make this
vendor_extension
interface available for future, the
vendor_extension
vendor-specific IA attribute must be used. Currently, the
vendor_extension
attribute is set to 1.0 and it is the only version that is
supported. If the vendor_extension
attribute does not exist, applications cannot
modify the trace levels dynamically.
An example of how to change these attributes is included in the uDAPL sample code that is installed with the AIX implementation.