alloc_qpn(9)
π NAME π
okay bestie, this is alloc_qpn(9) from the Kernel API Manual β yes, we're in the kernel API manual, and this little function is here to allocate the next available qpn, or zero/one for QP type IB_QPT_SMI/IB_QPT_GSI. that's the whole main-character job β¨
β¨ SYNOPSIS β¨
int alloc_qpn (struct rvt_dev_info *rdi , struct rvt_qpn_table *qpt ,
enum ib_qp_type type , u8 port_num , u8 exclude_prefix );
π«Ά ARGUMENTS π«Ά
rdiβ thervtdevice info structure. πqptβ pointer to the queue pair number table. πtypeβ the QP type. π¦port_numβ IB port number, 1 based, comes from core. πΈexclude_prefixβ prefix of special queue pair number being allocated. π
π« RETURN π«
The queue pair number. that's the return value, bestie β that's the whole vibe. π
π SEE ALSO π
The kernel file is ./drivers/infiniband/sw/rdmavt/qp.c β yes, that exact path, no cap. π«Ά
Here's the full see-also squad:
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),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_create_qp(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)
shoutout to the ./drivers/infiniband/sw/rdmavt source and the October 2026 date on this alloc_qpn(9) page β mwah, bestie π
π¦ 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