rvt_qp_iter(9)
π rvt_qp_iter β the "iterate all QPs" girlies' era β¨
okay bestie, so we're deep in the kernel API manual (that's the 9 section, iykyk) and today's main character is rvt_qp_iter. no cap, this one's a little baddie for looping over every single QP π
πΈ SYNOPSIS πΈ
void rvt_qp_iter (struct rvt_dev_info *rdi , u64 v , void (*cb)(struct
rvt_qp *qp, u64 v) );
literally just look at her. iconic signature, zero notes π
π¦ ARGUMENTS π¦
rdiβ the rvt devinfo, aka the whole vibe of the device we're cruising through β¨vβ a 64-bit value. yes, sixty-four whole bits of it πcbβ a callback. you bring your own, we just call it π«Ά
π DESCRIPTION π
So this is the way you get to iterate, like, all the QPs. that's the whole plot π
The cb is a user-defined callback, and v is a 64-bit value that gets passed along and is genuinely relevant for processing inside the cb. an example use case would be altering QP processing based on criteria that aren't part of the rvt_qp β so your callback's out here doing her own extra filtering, periodt π₯
Also! the code has an internal iterator to simplify non seq_file use cases. that's the little helper behind the scenes making your life cute, ngl π
π SEE ALSO π
Kernel file ./drivers/infiniband/sw/rdmavt/qp.c β and honestly, the whole friend group:
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_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_copy_sge(9)rvt_ruc_loopback(9)
link them all, they ate π
and that's the page!! π§ this little gem lives over in ./drivers/infiniband/sw/rdmavt, the version notes say October 2026, and the manpage name is rvt_qp_iter(9) in case you forgot already π mwah, go iterate some QPs 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