ib_create_wq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ib_create_wq(9) β€” Kernel API Manual bestie edition πŸ’…

okay so welcome to the Kernel API Manual corner, where today’s main character is ib_create_wq. it’s giving β€œmake a WQ and attach it to a protection domain,” and honestly? iconic. no cap. ✨


🌸 NAME 🌸

ib_create_wq β€” Creates a WQ associated with the specified protection domain. πŸ’–

✨ SYNOPSIS ✨

the signature, exactly as it appears, because we do not play with code:

struct ib_wq * ib_create_wq (struct ib_pd *pd , struct ib_wq_init_attr
       *wq_attr );

πŸŽ€ ARGUMENTS πŸŽ€

  • pd β€” the protection domain associated with the WQ. that’s the one, bestie. 🫢
  • wq_attr β€” a list of initial attributes required to create the WQ. If WQ creation succeeds, then the attributes are updated to the actual capabilities of the created WQ. ✨

πŸ’– DESCRIPTION πŸ’–

okay so wq_attr->max_wr and wq_attr->max_sge determine the requested size of the WQ, and they get set to the actual values allocated on return. that’s the glow-up. πŸ’…

If ib_create_wq succeeds, then max_wr and max_sge will always be at least as large as the requested values. periodt β€” no tiny surprise downgrade. 🫢

πŸ¦‹ SEE ALSO πŸ¦‹

the kernel file is ./drivers/infiniband/core/verbs.c, and the see-also friend group is:


mwah πŸ’‹ this page comes from source/version ./drivers/infiniband/core, dated October 2026, and it’s all about ib_create_wq(9). bye bestie, drink water 🌈🫢

πŸ“¦ where this page comes from