_rvt_reset_qp(9)
π _rvt_reset_qp β the Kernel API Manual glow-up π
okay so bestie, welcome to the _rvt_reset_qp(9) page from the Kernel API Manual β yes, that one. she's short, she's specific, and she's lowkey a control freak about locks. let's get into it β¨
πΈ NAME πΈ
_rvt_reset_qp β set the QP state back to the reset state. like a factory reset but for a queue pair, no cap π
π¦ SYNOPSIS π¦
void _rvt_reset_qp (struct rvt_dev_info *rdi , struct rvt_qp *qp , enum
ib_qp_type type );
that's the whole signature, bestie β copy it exactly, don't get creative π
β ARGUMENTS β
rdiβ the rvt dev struct, aka the device info. she's the context, she's the main character πqpβ the QP you're resetting. literally the thing getting the reset treatment π«Άtypeβ the QP type. yes, there are types. iykyk π
π₯ DESCRIPTION π₯
okay so here's the one (1) sentence of lore and it's kind of a big deal:
r_lock,s_hlock, ands_lockare required to be held by the caller
that's it, that's the description. no cap. if you're calling this without all three of those locks held, that's on you and it's giving "undefined consequences" energy π so likeβ¦ hold the locks. all three. periodt.
π SEE ALSO π
the friend group! all of these live in the Kernel file ./drivers/infiniband/sw/rdmavt/qp.c and honestly they're all obsessed with each other:
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_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)
and that's the page, bestie! π§ this little gem comes from ./drivers/infiniband/sw/rdmavt and it's dated October 2026 β so like, future vibes. stay locked, stay reset ππβ¨
π¦ 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