rvt_ruc_loopback(9)
π rvt_ruc_loopback β from the Kernel API Manual, bestie β¨
Okay so this is rvt_ruc_loopback(9), straight out of the Kernel API Manual β and no cap, it's a little function with a very specific job. Let's get into it π
β¨ NAME β¨
rvt_ruc_loopback β the one that handles UC and RC loopback requests π¦
πΈ SYNOPSIS πΈ
void rvt_ruc_loopback (struct rvt_qp *sqp );
π ARGUMENTS π
sqpβ literally just the sending QP. That's it. The main character of this whole function π«Ά
π DESCRIPTION π
So here's the tea β: this gets called from rvt_do_send to forward a WQE addressed to the same HFI. Iconic behavior, honestly.
Now, the part you need to know: even though we're single threaded due to the send engine, we still have to protect against post_send. Like, yes, it feels like we should be safe, but nope β gotta keep that guard up π
And the good news? We don't have to worry about receive interrupts, because this is a connected protocol and all packets will pass through here. Every single one. Slay for us, honestly πβ¨
π SEE ALSO π
The kernel file lives at ./drivers/infiniband/sw/rdmavt/qp.c β and here's 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_qp_iter(9)rvt_copy_sge(9)
Lowkey a whole squad, right? Go read them if you're curious β they're all in ./drivers/infiniband/sw/rdmavt. ππ
Okay bye bestie π«Ά this page came from ./drivers/infiniband/sw/rdmavt, dated October 2026, and it's filed under rvt_ruc_loopback(9) β periodt π
β¨
π¦ 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