EFADV_QUERY_CQ(3)

πŸ¦‹ EFADV_QUERY_CQ β€” the EFA Direct Verbs manual, bestie edition ✨

okay so this is efadv_query_cq(3), from the EFA Direct Verbs Manual. it's the one that lets you peek at all the device-specific deets on a Completion Queue. lowkey iconic. πŸ’…


✨ NAME ✨

efadv_query_cq β€” query EFA specific Completion Queue attributes πŸŽ€


🌸 SYNOPSIS 🌸

#include <infiniband/efadv.h>

int efadv_query_cq(struct ibv_cq *ibvcq, struct efadv_cq_attr *attr,
                   uint32_t inlen);

πŸ’œ DESCRIPTION πŸ’œ

efadv_query_cq() queries device-specific Completion Queue attributes. that's it, that's the whole vibe. 🫢

compatibility is handled using the comp_mask and inlen fields β€” the way that this struct just knows how to stay compatible? obsessed.

struct efadv_cq_attr {
    uint64_t comp_mask;
    uint8_t *buffer;
    uint32_t entry_size;
    uint32_t num_entries;
    uint32_t *doorbell;
};
  • inlen β€” In: the size of struct efadv_cq_attr. tell it how big the struct is, it's only polite bestie πŸ’–
  • comp_mask β€” the compatibility mask. keeping everything chill across versions ✨
  • buffer β€” the completion queue buffer. the actual goods 🎁
  • entry_size β€” size of each completion queue entry. every entry living its own main character life πŸ’«
  • num_entries β€” maximal number of entries in the completion queue. the max capacity, no cap πŸ”₯
  • doorbell β€” the reverse doorbell used to update the device of polled entries and to request notifications. it's NULL when not in use for this Completion Queue. no doorbell, no problem πŸ™ˆ

🌈 RETURN VALUE 🌈

efadv_query_cq() returns 0 on success, or the value of errno on failure (which indicates the failure reason). so if you get a 0, slay. anything else, check errno β€” it's literally telling you what went wrong πŸ’€


πŸ¦‹ SEE ALSO πŸ¦‹

  • efadv(7) β€” go read the big one, iykyk πŸ‘‘

πŸŽ€ NOTES πŸŽ€

  • Compatibility mask (comp_mask) is an out field and currently has no values. so bestie, it's giving empty β€” for now ⭐

πŸ‘‘ AUTHORS πŸ‘‘

Michael Margolin mrgolin@amazon.com β€” the icon who made this happen, periodt πŸ’…


okay that's the whole page, and yes it's efa (that's the manual name, folded in right up top like a lil name tag 🏷️), dated 2025-04-15, shipping with version 2025-04-15 of the EFA Direct Verbs Manual. mwah, go forth and query your CQs responsibly bestie πŸ’–βœ¨πŸ§š

πŸ“¦ where this page comes from
  • arch rolling: rdma-core 65.0-1 Β· GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-MIT AND GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-FreeBSD AND GPL-2.0-or-later OR LicenseRef-Intel-BSD-3-Clause AND GPL-2.0-or-later OR LicenseRef-PathScale-BSD-Patent-License AND CC0-1.0 AND MIT AND BSD-2-Clause AND CPL-1.0 OR BSD-2-Clause OR GPL-2.0-or-later
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms