STRUCT RVT_KRWQ(9)
π struct rvt_krwq(9) β like, the kernel struct receive work request, bestie
okay so this is a page from the Kernel API Manual (that's the manual name, noted π), and it's all about struct rvt_krwq. it's giving kernel-internals realness and honestly? kind of iconic. let's get into it π«Ά
β¨ NAME β¨
struct rvt_krwq β the kernel struct receive work request. yes that's the whole name. slay.
πΈ SYNOPSIS πΈ
here's the whole struct, copied exactly, no cap:
struct rvt_krwq {
spinlock_t p_lock;
u32 head;
spinlock_t c_lock;
u32 tail;
u32 count;
struct rvt_rwqe *curr_wq;
struct rvt_rwqe wq[];
};
look at her. the flexible array member wq[] at the end? main character energy fr fr π
π Members π
p_lockβ the lock that protects the producer of the kernel buffer. producer stays in their lane, periodt πheadβ index of the next entry to fill. it's literally pointing at the future bestie β¨c_lockβ the lock that protects the consumer of the kernel buffer. consumer also stays in their lane π§tailβ index of the next entry to pull. the consumer's little bookmark πΈcountβ an approximate count of total receive entries posted. key word: approximate π it's not out here claiming precision, and honestly? relatablecurr_wqβ struct of the receive work request queue entry. that's her π
π¦ Description π¦
okay so the whole vibe of this structure: it's used to contain the head pointer, the tail pointer, and the receive work queue entries for kernel mode user. that's it, that's the job. head, tail, and the entries, all cozy in one struct π
π₯ SEE ALSO π₯
buckle up bestie, this list is LONG and every single one is staying, i don't make the rules:
- Kernel file
./include/rdma/rdmavt_qp.h struct rvt_ud_wr(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_lookup_qpn(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)
like i said. LONG. but we read the whole thing, we don't skip π
and that's the whole page bestie! this one came from the source ./include/rdma and it's dated October 2026 β future-coded and flawless. mwah πβ¨
π¦ 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