ib_create_qp_user(9)
π ib_create_qp_user(9) β like, the Kernel API Manual page, but make it make sense
okay so bestie, we're in the Kernel API Manual today and this one is called ib_create_qp_user and it does exactly one iconic thing: creates a QP associated with the specified protection domain. that's it, that's the whole vibe. a Queue Pair, born into this world, tied to its PD from day one π
β¨ NAME β¨
ib_create_qp_user β Creates a QP associated with the specified protection domain.
like... a whole Queue Pair. your very own. associated with the specified protection domain. no cap π
π SYNOPSIS π
struct ib_qp * ib_create_qp_user (struct ib_device *dev , struct ib_pd
*pd , struct ib_qp_init_attr *attr , struct uverbs_attr_bundle *uattrs ,
struct ib_uqp_object *uobj , const char *caller );
she's long, she's got six arguments, she's main character energy π¦
π«Ά ARGUMENTS π«Ά
the cast of characters, in order, no skips:
devβ the IB device. the hardware baddie in question π₯pdβ The protection domain associated with the QP. (your QP's emotional support PD π)attrβ A list of initial attributes required to create the QP. If QP creation succeeds, then the attributes are updated to the actual capabilities of the created QP. so it goes in as a wishlist and comes back as receipts β¨uattrsβ User ioctl attributes and udata.uobjβ uverbs obect. (yes, the manpage literally spells it "obect" and honestly? relatable π we keep her as she is π)callerβ caller's build-time module name. so the kernel knows who to blame, affectionately π«Ά
π¦ SEE ALSO π¦
the whole group chat, all present and accounted for:
Kernel file ./drivers/infiniband/core/verbs.c plus these icons:
__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_srq_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)
ngl that's a stacked SEE ALSO. every single one of them said "we're coming to the function" and they showed up π€π
heads up bestie: attr is the one doing the glow-up. you hand it what you want, and on success it gets rewritten with what you actually got. so don't go reading your original values back like they're still true β that's the trap π
alright that's the whole page, mwah π she lives in ./drivers/infiniband/core and she's dated October 2026 β mark your calendars, she's a fall icon ππ§π
π¦ 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