rvt_qp_iter_next(9)
π NAME π
rvt_qp_iter_next β return the next QP in iter. Okay bestie, this is the rvt_qp_iter_next(9) page from the Kernel API Manual, and it's literally the little iterator step that hands you the next QP. π
π¦ SYNOPSIS π¦
int rvt_qp_iter_next (struct rvt_qp_iter *iter );
π ARGUMENTS π
iterβ the iterator. That's the whole argument, no cap. π«Ά
πΈ DESCRIPTION πΈ
This is a fine grained QP iterator that's suitable for use with debugfs seq_file mechanisms. It's giving very focused, very debug-friendly energy. β¨
When the return value is 0, it updates iter->qp with the current QP. So yeah, that's the main-character move right there. π
β RETURN β
Vibe check on the return values:
0βiter->qpis valid. Slay, you got one. π1β no more QPs. That's the end, bestie. π
π SEE ALSO π
Kernel file ./drivers/infiniband/sw/rdmavt/qp.c, plus the whole 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)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(9)rvt_copy_sge(9)rvt_ruc_loopback(9)
Mwah π β cute little sign-off from the footer: source path ./drivers/infiniband/sw/rdmavt, date October 2026, and the page signs itself rvt_qp_iter_next(9). π«Ά
π¦ 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