ib_create_srq_user(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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:


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