irdma_uk_srq_init(9)
π irdma_uk_srq_init β bestie's guide to initializing a shared qp π
okay so this one's from the Kernel API Manual, section 9, and it's literally just... setting up your SRQ so the hardware doesn't get confused. let's go π«Ά
β¨ NAME β¨
irdma_uk_srq_init β initialize shared qp
(yes the NAME says "shared qp" and the function is about srq. that's what the page says, we don't question the ancestors π)
πΈ SYNOPSIS πΈ
int irdma_uk_srq_init (struct irdma_srq_uk *srq , struct
irdma_srq_uk_init_info *info );
two args, returns an int. that's the whole vibe check π
π ARGUMENTS π
srqβ the hw srq. both user and kernel mode, so it's giving main character energy for everybody πinfoβ the srq initialization info. all the setup deets live in here π¦
π DESCRIPTION π
so basically this function initializes the vars that get used in both user and kernel mode β one function, two worlds, iconic crossover β¨
the size of the wqe depends on the number of max fragments allowed. then: size of wqe * the number of wqes = the amount of memory allocated for srq. that's the math, no cap π
fr fr the memory math matters β get your fragment count wrong and the alloc is wrong, and that's a bad time π
π SEE ALSO π
all the sibling functions, in the exact order the page gives them, because we don't reshuffle the group chat π
the kernel file ./drivers/infiniband/hw/irdma/uk.c and:
irdma_set_fragment(9)irdma_set_fragment_gen_1(9)irdma_nop_1(9)irdma_clr_wqes(9)irdma_uk_qp_post_wr(9)irdma_qp_get_next_send_wqe(9)irdma_qp_get_next_recv_wqe(9)irdma_uk_rdma_write(9)irdma_uk_atomic_fetch_add(9)irdma_uk_atomic_compare_swap(9)irdma_uk_srq_post_receive(9)irdma_uk_rdma_read(9)irdma_uk_send(9)irdma_set_mw_bind_wqe_gen_1(9)irdma_copy_inline_data_gen_1(9)irdma_inline_data_size_to_quanta_gen_1(9)irdma_set_mw_bind_wqe(9)irdma_copy_inline_data(9)irdma_inline_data_size_to_quanta(9)irdma_uk_inline_rdma_write(9)irdma_uk_inline_send(9)irdma_uk_stag_local_invalidate(9)irdma_uk_post_receive(9)irdma_uk_cq_resize(9)irdma_uk_cq_set_resized_cnt(9)irdma_uk_cq_request_notification(9)irdma_uk_cq_empty(9)irdma_uk_cq_poll_cmpl(9)irdma_round_up_wq(9)irdma_get_wqe_shift(9)irdma_setup_connection_wqes(9)irdma_uk_calc_shift_wq(9)irdma_uk_calc_depth_shift_sq(9)irdma_uk_calc_depth_shift_rq(9)irdma_uk_qp_init(9)irdma_uk_cq_init(9)irdma_uk_clean_cq(9)irdma_nop(9)irdma_fragcnt_to_quanta_sq(9)irdma_fragcnt_to_wqesize_rq(9)
π§ sign-off π§
this page lives in ./drivers/infiniband/hw/irdma, dated October 2026, and answers to the name irdma_uk_srq_init(9). periodt π
β
go forth and init your srq responsibly, bestie ππΈ
π¦ 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