EFADV_QUERY_DEVICE(3)
β¨ EFADV_QUERY_DEVICE(3) β¨
okay bestie, welcome to the EFA Direct Verbs Manual page for efadv_query_device β itβs literally giving βtell me everything about this EFA deviceβ energy π
πΈ NAME πΈ
efadv_query_device β query device capabilities π«Ά
β¨ SYNOPSIS β¨
#include <infiniband/efadv.h>
int efadv_query_device(struct ibv_context *ibvctx,
struct efadv_device_attr *attr,
uint32_t inlen);
π DESCRIPTION π
efadv_query_device() queries EFA device specific attributes. Compatibility is handled using the comp_mask and inlen fields β thatβs the compatibility combo, no cap β¨
The struct is literally this, character for character:
struct efadv_device_attr {
uint64_t comp_mask;
uint32_t max_sq_wr;
uint32_t max_rq_wr;
uint16_t max_sq_sge;
uint16_t max_rq_sge;
uint16_t inline_buf_size;
uint8_t reserved[2];
uint32_t device_caps;
uint32_t max_rdma_size;
};
inlenβ In: size ofstruct efadv_device_attr. This one goes in, bestie πcomp_maskβ compatibility mask. The vibe-check field πmax_sq_wrβ maximum Send Queue (SQ) Work Requests (WRs). Thatβs the send-side WR ceiling π₯max_rq_wrβ maximum Receive Queue (RQ) Work Requests (WRs). The receive-side WR ceiling πΈmax_sq_sgeβ maximum Send Queue (SQ) Scatter Gather Elements (SGEs) β¨max_rq_sgeβ maximum Receive Queue (RQ) Scatter Gather Elements (SGEs) β¨inline_buf_sizeβ maximum inline buffer size πdevice_capsβ bitmask of device capabilities:EFADV_DEVICE_ATTR_CAPS_RDMA_READ: RDMA read is supported. πEFADV_DEVICE_ATTR_CAPS_RNR_RETRY: RNR retry is supported for SRD QPs. π¦EFADV_DEVICE_ATTR_CAPS_CQ_WITH_SGID: Reading source address (SGID) from receive completion descriptors is supported. Valid only for unknown AH. πEFADV_DEVICE_ATTR_CAPS_RDMA_WRITE: RDMA write is supported π«ΆEFADV_DEVICE_ATTR_CAPS_UNSOLICITED_WRITE_RECV: Indicates the device has support for creating QPs that can receive unsolicited RDMA write with immediate. RQ with this feature enabled will not consume any work requests in order to receive RDMA write with immediate and a WC generated for such receive will be marked as unsolicited. πEFADV_DEVICE_ATTR_CAPS_CQ_WITH_EXT_MEM_DMABUF: Indicates that creating CQs with external memory buffers by passing dmabuf is supported. π
max_rdma_sizeβ maximum RDMA transfer size in bytes. π
π RETURN VALUE π
efadv_query_device() returns 0 on success, or the value of errno on failure (which indicates the failure reason). Slay β¨
π¦ SEE ALSO π¦
π NOTES π
- Compatibility mask (
comp_mask) is an out field and currently has no values. Periodt π
π AUTHORS π
- Gal Pressman <galpress@amazon.com> π«Ά
okay thatβs the whole page, bestie β the source/version is efa, dated 2019-04-22, and the manual title is EFADV_QUERY_DEVICE(3). mwah π
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- centos-stream 10: rdma-core-devel 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms