ib_create_srq_user(9)
okay so bestie, welcome to the manual page for ib_create_srq_user(9) β yes we're in the Kernel API Manual and it's giving protection domain realness. π
β¨
β¨ NAME β¨
ib_create_srq_user β creates a SRQ that's associated with the specified protection domain. Like, it's literally making a shared receive queue and tying it to a PD. No cap. π
πΈ SYNOPSIS πΈ
struct ib_srq * ib_create_srq_user (struct ib_pd *pd , struct ib_srq_init_attr *srq_init_attr , struct ib_usrq_object *uobject , struct ib_udata *udata );
π ARGUMENTS π
pdβ the protection domain that's gonna be associated with the SRQ. It's like the SRQ's home base, you know? πsrq_init_attrβ a list of initial attributes you need to create the SRQ. And listen, if SRQ creation succeeds, these attributes get updated to the actual capabilities of the created SRQ. So it's like a glow-up on return. β¨uobjectβ uobject pointer if this is not a kernel SRQ. That's it, that's the whole vibe. π«Άudataβ udata pointer if this is not a kernel SRQ. Same energy. π
π DESCRIPTION π
so here's the tea: srq_attr->max_wr and srq_attr->max_sge are read to determine the requested size of the SRQ. Then they get set to the actual values allocated on return. So you ask for a size, and the kernel gives you back what you actually got. If ib_create_srq succeeds, then max_wr and max_sge will always be at least as large as the requested values. So you're never getting shortchanged, bestie. π₯
bestie note: this is kernel-level stuff, so pay attention to those attributes on return! π
π¦ SEE ALSO π¦
these are all chillin' in the kernel file ./drivers/infiniband/core/verbs.c β go give them a read:
__ib_alloc_pd(9)ib_dealloc_pd_user(9)rdma_copy_ah_attr(9)rdma_replace_ah_attr(9)rdma_move_ah_attr(9)rdma_create_ah(9)rdma_create_user_ah(9)rdma_move_grh_sgid_attr(9)rdma_destroy_ah_attr(9)ib_create_qp_user(9)ib_resolve_eth_dmac(9)ib_modify_qp_with_udata(9)ib_alloc_mr(9)ib_alloc_mr_integrity(9)ib_alloc_xrcd_user(9)ib_dealloc_xrcd_user(9)ib_create_wq(9)ib_destroy_wq_user(9)ib_map_mr_sg_pi(9)ib_map_mr_sg(9)ib_sg_to_pages(9)ib_drain_sq(9)ib_drain_rq(9)ib_drain_qp(9)rdma_alloc_hw_stats_struct(9)rdma_free_hw_stats_struct(9)
and that's the whole page, bestie! this one lives in ./drivers/infiniband/core and it's dated October 2026 β catch you in the next manpage! ππ¦
π¦ 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