rvt_create_qp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

hey bestie πŸ’– this is rvt_create_qp(9) from the Kernel API Manual, and it's literally here to create a queue pair for a device ✨

🌸 NAME 🌸

rvt_create_qp β€” create a queue pair for a device 🫢

✨ SYNOPSIS ✨

int rvt_create_qp (struct ib_qp *ibqp , struct ib_qp_init_attr
*init_attr , struct ib_udata *udata );

πŸŽ€ ARGUMENTS πŸŽ€

  • ibqp β€” the queue pair, aka the main character of this whole thing πŸ‘‘
  • init_attr β€” the attributes of the queue pair, its whole vibe check ✨
  • udata β€” user data for libibverbs.so πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so queue pair creation is mostly an rvt issue, lowkey. but drivers have their own unique idea of what queue pair numbers mean β€” no cap. for instance there is a reserved range for PSM.

Called by the ib_create_qp core verbs function. periodt. πŸ”₯

πŸ’« RETURN πŸ’«

0 on success, otherwise returns an errno. that's the whole mood 😭

🌈 SEE ALSO 🌈

Kernel file ./drivers/infiniband/sw/rdmavt/qp.c β€” and the whole squad of related refs: init_qpn_table(9), free_qpn_table(9), rvt_driver_qp_init(9), rvt_free_qp_cb(9), rvt_free_all_qps(9), rvt_qp_exit(9), alloc_qpn(9), rvt_clear_mr_refs(9), rvt_swqe_has_lkey(9), rvt_qp_sends_has_lkey(9), rvt_qp_acks_has_lkey(9), rvt_qp_mr_clean(9), rvt_remove_qp(9), rvt_alloc_rq(9), rvt_init_qp(9), _rvt_reset_qp(9), rvt_reset_qp(9), rvt_free_qpn(9), get_allowed_ops(9), free_ud_wq_attr(9), alloc_ud_wq_attr(9), rvt_error_qp(9), rvt_modify_qp(9), rvt_destroy_qp(9), rvt_query_qp(9), rvt_post_recv(9), rvt_qp_valid_operation(9), rvt_qp_is_avail(9), rvt_post_one_wr(9), rvt_post_send(9), rvt_post_srq_recv(9), get_rvt_head(9), rvt_get_rwqe(9), rvt_comm_est(9), rvt_add_rnr_timer(9), rvt_stop_rc_timers(9), rvt_stop_rnr_timer(9), rvt_del_timers_sync(9), rvt_qp_iter_init(9), rvt_qp_iter_next(9), rvt_qp_iter(9), rvt_copy_sge(9), rvt_ruc_loopback(9) πŸ’–


okay bye bestie πŸŽ€ this page is from ./drivers/infiniband/sw/rdmavt, dated October 2026, and it's rvt_create_qp(9) signing off β€” mwah πŸ’‹

πŸ“¦ where this page comes from