__ib_alloc_cq_any(9)
β¨ NAME β¨
okay so welcome to the Kernel API Manual page for __ib_alloc_cq_any(9), bestie β this one is all about how to allocate a completion queue π
πΈ SYNOPSIS πΈ
struct ib_cq * __ib_alloc_cq_any (struct ib_device *dev , void *private
, int nr_cqe , enum ib_poll_context poll_ctx , const char *caller );
π ARGUMENTS π
devβ the device to allocate the CQ for π«Άprivateβ driver private data, accessible fromcq->cq_contextβ¨nr_cqeβ number of CQEs to allocate π’poll_ctxβ context to poll the CQ from πcallerβ module owner name π·οΈ
π¦ DESCRIPTION π¦
so the whole vibe here is: attempt to spread ULP Completion Queues over each device's interrupt vectors π and honestly? it's giving "let's distribute the CQ love across those vectors" π
the mechanism is a simple best-effort one β no cap, that's literally what the page says, and that's the whole description, bestie π§
π SEE ALSO π
- Kernel file
./drivers/infiniband/core/cq.c ib_process_cq_direct(9)__ib_alloc_cq(9)ib_free_cq(9)ib_cq_pool_get(9)ib_cq_pool_put(9)
okay that's the whole page, bestie π«Ά source/version ./drivers/infiniband/core, dated October 2026, page __ib_alloc_cq_any(9) β mwah πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms