rvt_lookup_qpn(9)
π rvt_lookup_qpn(9) π
okay so bestie, welcome to the Kernel API Manual, section 9 β this is the page for rvt_lookup_qpn, and no cap it's a little one but it's important, so pay attention π
β¨ NAME β¨
rvt_lookup_qpn β return the QP with the given QPN π¦
πΈ SYNOPSIS πΈ
struct rvt_qp * rvt_lookup_qpn (struct rvt_dev_info *rdi , struct
rvt_ibport *rvp , u32 qpn );
like, it literally hands you back a struct rvt_qp *, periodt π
π ARGUMENTS π
rdiβ the rvt device info structure π§rvpβ the ibport, iykykqpnβ the QP number you're trying to look up π
π DESCRIPTION π
okay so this is the part where you have to be a responsible main character: the caller must hold the rcu_read_lock, and keep holding that lock until the returned qp is no longer in use. like, do not let go early. that's the whole vibe check ππ
fr fr, the returned qp is only safe while you're still holding the lock β release it too soon and you're on your own π
π SEE ALSO π
Kernel file ./include/rdma/rdmavt_qp.h π and also all of these iconic little friends:
struct rvt_ud_wr(9)struct rvt_krwq(9)rvt_get_swqe_ah_attr(9)rvt_get_swqe_remote_qpn(9)rvt_get_swqe_remote_qkey(9)rvt_get_swqe_pkey_index(9)rvt_get_rq_count(9)struct rvt_operation_params(9)rvt_is_user_qp(9)rvt_get_qp(9)rvt_put_qp(9)rvt_put_swqe(9)rvt_qp_wqe_reserve(9)rvt_qp_wqe_unreserve(9)rvt_div_round_up_mtu(9)rvt_div_mtu(9)rvt_timeout_to_jiffies(9)rvt_mod_retry_timer_ext(9)rvt_put_qp_swqe(9)rvt_qp_swqe_incr(9)rvt_recv_cq(9)rvt_send_cq(9)rvt_qp_complete_swqe(9)struct rvt_qp_iter(9)ib_cq_tail(9)ib_cq_head(9)rvt_free_rq(9)rvt_to_iport(9)rvt_rc_credit_avail(9)
and that's the whole page, bestie π«Ά this cutie lives in the source dir ./include/rdma, dated October 2026, and yes it's still rvt_lookup_qpn(9) β slay, go hold that rcu lock π
β¨π
π¦ 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