rvt_qp_iter_init(9)
πΈ NAME πΈ
rvt_qp_iter_init β initial for QP iteration. Welcome to rvt_qp_iter_init(9), from the Kernel API Manual, bestie β yes we are in the kernel docs and the vibes are immaculate β¨
π¦ SYNOPSIS π¦
struct rvt_qp_iter * rvt_qp_iter_init (struct rvt_dev_info *rdi , u64 v
, void (*cb)(struct rvt_qp *qp, u64 v) );
That's the exact signature, comma spacing and all β it's literally the manual's house style π
π ARGUMENTS π
rdiβ the rvt devinfo. Like, the devinfo in question, bestie.vβ au64value. Sixty-four bits of "here's a value," lowkey.cbβ user-defined callback. Your callback, your rules, fr fr.
π DESCRIPTION π
This returns an iterator suitable for iterating QPs in the system. No cap: an iterator, for QPs, in the system. Iconic.
The cb is a user-defined callback, and v is a 64-bit value passed to and relevant for processing in the cb. An example use case would be to alter QP processing based on criteria not part of the rvt_qp. iykyk.
π¨ Real talk: use cases that require memory allocation to succeed must preallocate appropriately. This is not a "we'll figure it out in the callback" situation, bestie β preallocate appropriately, periodt.
π RETURN π
Returns a pointer to an rvt_qp_iter or NULL. That's it. That's the return: a pointer or NULL, and that's the whole mood.
π 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_next(9)rvt_qp_iter(9)rvt_copy_sge(9)rvt_ruc_loopback(9)
okay bye bestie π this has been rvt_qp_iter_init(9) from the Kernel API Manual, source ./drivers/infiniband/sw/rdmavt, dated October 2026 β slay, and remember: preallocate appropriately πβ¨
π¦ 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